git hub가 main으로 되어있기 때문에 연동을 생각한다면 main으로 설정
git init
git config --global user.email "cmhh0808@naver.com"
git config --global user.name "mhan"
stating(메모리) 영역으로 옮기기: git add [파일명]
git commit -m "command"
add+commit: git commit -am "command"
git status
git log
git log -p
git log --all --oneline --graph
git checkout [commit ID]
가장 최근 작업으로 이동: git checkout main
git rm --cached
git bash 실행
git bash 실행 시 아래와 같이 새로운 터미널 창이 뜬다.
※ 현재 위치 아래에 git/test 폴더 생성 및 test 폴더로 이동
$ mkdir -p git/test
$ cd git/test
$ git init
$ cd .git
# test 폴더로 이동
$ cd ..
# trip.txt 파일 생성
$ vi trip.txt
# trip.txt
1. Seoul
$ git config --global user.email "1234@naver.com"
$ git config --global user.name "1234"
$ git add trip.txt
$ git rm --cached trip.txt
커밋 후 상태 확인
참고) add, commit 한꺼번에 진행
$ git commit -am "command"
참고) 커밋 메세지 수정
$ git commit --amend
로그 확인
# trip.txt 파일 수정
$ vi trip.txt
# trip.txt
1. Seoul
2. Busan
# trip.txt 파일 수정
$ vi trip.txt
# trip.txt
1. Seoul
2. Busan
3. Jeju
$ git log
$ git checkout 7a4faabe116eaf4d0a0896f8ef9bef2b5a1ba2d0
최근 작업 내용을 돌아가기
HEAD 위치 변경
working tree 변경X, staging 버전 변경O, repository 인덱스 변경X
$ git reset --soft [commit ID]
working tree 변경X, staging 버전 변경O, repository 인덱스 변경O
$ git reset (--mixed) [commit ID]
working tree 변경O, staging 버전 변경O, repository 인덱스 변경O
$ git reset --hard [commit ID]
git log
git reset --mixed
log 확인
파일 내용 확인 (변경 사항 없음)
git commit (git add 필요)
git status (git add 필요)
git add 후에 git commit
다시 돌아와서
$ git reset e563ee746394243420
git reset --soft
git log
파일 내용 확인 (변경 사항 없음)
git status (add 된 상태)
git commit
다시 돌아와서
$ git reset e563ee746394243420
git reset --hard
$ git reset --hard 9ac861d9d45dd5413b73e
파일 내용 확인 (해당 버전으로 파일 내용 변경됨)
git log
현재 working tree의 파일 내용과 staging 영역의 파일이 동일하므로 변경 사항 없음
git merge
git 폴더 아래에 test 폴더 생성 후 해당 위치로 이동
git init
$ git init
test 폴더 아래에 kor.txt 파일 생성
$ vi kor.txt
# kor.txt
1. Seoul
git add/commit
$ git add kor.txt
$ git commit -m 'main_step1'
kor 브런치 생성 후 해당 브런치로 이동
$ git branch kor
$ git checkout kor
kor.txt 파일 확인
kor.txt 파일 내용 수정
$ vi kor.txt
# kor.txt
1. Seoul
2. Busan
git commit
$ git commit -am 'kor_step1'
git log
main 브런치로 이동
$ git checkout main
파일 내용 확인 (kor 브런치에서 변경한 내용 반영되지 않음)
kor 브런치 merge
kor.txt 파일 내용 확인 - kor 브런치에서 변경한 내용이 반영된 것을 확인할 수 있다.
kor.txt 파일 내용 추가
$ vi kor.txt
# kor.txt
1. Seoul
2. Busan
3. Jeju
git commit -am
$ git commit -am 'main_step2'
kor 브런치로 이동
$ git checkout kor
kor.txt 파일 내용 확인
kor.txt 파일 내용 추가
$ vi kor.txt
# kor.txt
1. Seoul
2. Busan
3. Daejeon
git commit -am
$ git commit -am 'kor_step2'
git log 확인
main 브런치로 이동 후 kor 브런치와 merge 진행
$ git checkout main
$ git merge kor
kor.txt 파일 내용 확인 - 충돌 발생
kor.txt 파일 내용 수정
$ vi kor.txt
# kor.txt
1. Seoul
2. Busan
3. Jeju
4. Daejeon
git commit -am
$ git commit -am 'merge_kor'
git log 확인
kor 브런치로 이동하여 kor.txt 파일 내용 확인
$ git checkout kor
Reference.
https://fgh0296.tistory.com/26