추가 명령어
명령어 | 설명 |
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 프로필 설정
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를 할 때 실패할 때가 있다.
이는 서로 다른 파일에서 같은 줄에 서로 다른 내용을 추가하려 할 때 서로 충돌하기 때문에 실패를 한다.
vim [파일명] 텍스트 입력으로 들어간다.
여기서 그냥은 텍스트를 수정할 수 없고 i를 눌러야 아래 insert가 뜨며 입력이 가능해진다.
그리고 esc를 누르면 입력을 멈춘다.
그리고 :wq , :q 텍스트 입력 창이 사라지고 다시 Git 콘솔로 돌아온다.
'코딩 > +' 카테고리의 다른 글
C 검색용 (0) | 2022.05.09 |
---|---|
컴퓨터 공학 (0) | 2022.04.21 |
버전관리, Git 명령어 (0) | 2022.04.18 |