코딩/+

Git

Hun die 2022. 4. 19. 16:54
추가 명령어

 

명령어 설명
git config Git 설정
git add 스테이징 영역(대기영역)에 파일을 추가한다.
git restore 변경된 사항을 폐기한다.
git log 바뀐 내용이 저장된 기록을 보여준다.
git status 레포지토리 상태를 보여줌
git init 레포지토리 생성

 

Git의 동작

 

HEAD : 어떤 브랜치를 가리키는지의 대한 내용이 담겨있다.

config : 로컬에 저장된 기록에 대한 내용이 담겨있다.

 

objects : 지금까지 변경된 사항이 저장되어있다.

 

 

ref/heads : 브랜치에 대한 파일이 있다.

해당 파일의 이름은 브랜치의 이름이며 파일 내용물에는 커밋 id가 적혀있다.

 

ref/tags : 태그에 대한 파일이 있다.

해당 파일의 이름은 태그의 이름이며 파일 내용물에는 해시값이 적혀있다.

 

Git를 하기 전에

 

git config --global alias.adog "log --all --decorate --oneline --graph"

git adog를 치면 커밋의 모양을 보여준다.

 

git config --global alias.lg "log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold red)%h%C(reset) : %C(bold green)(%ar)%C(reset) - %C(cyan)<%an>%C(reset)%C(bold yellow)%d%C(reset)%n%n%w(90,1,2)%C(white)%B%C(reset)%n'"

git lg를 치면 로그가 예쁘게 나온다.

 

치기 전 git log를 입력 한 모습

 

입력 후 git lg를 입력한 모습

 

Git 프로필 설정

 

git config --local user.name "Your Nickname"
git config --local user.email "Your Email"

로컬에 유저의 네임과 이메일을 저장한다.

저장한 로컬 이름과 이메일은 config에 저장된다.

 

 

Git 기초

 

ls(list)

현재 있는 폴더의 리스트를 출력한다.

 

 

cd [폴더명] 폴더 이동

. 현재 폴더

.. 상위 폴더  ( 상위 폴더 이동 -> cd .. )

 

mkdir (make directory)

디렉토리 만들기(폴더 만들기)

 

git init

레포지토리 생성(Git 저장 파일 만들기)

 

레포지토리를 생성하면 제일 뒤 (main) 으로 표시된 곳이 현재 브랜치를 가리킨다.

 

git branch [파일명] 새로운 브랜치를 만든다.

 

브랜치를 확인하는 장소

디렉토리 -> .git -> refs -> heads 에서 현재 존재하는 branch를 볼 수 있다.

 

내용 수정

 

디렉토리에 있는 temp.txt를 수정한다.(브랜치 내용물)

 

git status

깃의 상태를 확인한다.

modified가 떠 있으면 수정은 되었으나 아직 저장을 하지 않은 것이다.

여기서 두가지 선택이 있다.

 

1. git add [파일명]  : add로 파일을 브랜치에 넣는다. (staged)

git add를 하면 modified의 색이 변하며 커밋할 준비가 된다.

 

2. git restore [파일명]  : 커밋을 하고싶지 않을 때 수정된 사항을 지우고 되돌린다.

 

 

git commit -m "메세지" : add한 파일을 브랜치에 저장한다. (메세지를 적으면 브랜치에 메세지를 남기는데 여기서 메세지는 안해도 된다.)

commit 후 로그를 확인해보면 저장됨과 동시에 메세지가 남아있는 것을 볼 수 있다.

 

 

git checkout [브랜치 명]: 브랜치를 이동

git branch로 새로운 브랜치를 만들고 checkout로 이동해 뒤에 main이 바뀐것을 볼 수 있다.

 

+추가

로그를 입력해 앞의 7자리 깃이름을 입력하면 입력한 깃으로 이동할 수 있다.

 

 

git merge : 두 깃을 하나로 합친 새로운 깃을 만든다.

 

git merge를 한 후 log를 확인한 모습

git merge를 해서 HEAD에&nbsp; main과 meta1이 같이 있는 것을 볼 수 있다.

 

git merge를 할 때 실패할 때가 있다.
이는 서로 다른 파일에서 같은 줄에 서로 다른 내용을 추가하려 할 때 서로 충돌하기 때문에 실패를 한다.

 

 

vim [파일명]  텍스트 입력으로 들어간다.

 

vim으로 텍스트 입력창에 들어올 수 있다.

 

여기서 그냥은 텍스트를 수정할 수 없고 i를 눌러야 아래 insert가 뜨며 입력이 가능해진다.

 

그리고 esc를 누르면 입력을 멈춘다.

그리고 :wq , :q 텍스트 입력 창이 사라지고 다시 Git 콘솔로 돌아온다.

 

 

 

'코딩 > +' 카테고리의 다른 글

C 검색용  (0) 2022.05.09
컴퓨터 공학  (0) 2022.04.21
버전관리, Git 명령어  (0) 2022.04.18