** 참고
cat 파일이름(예 hello.py)
= 파일에 있는 내용을 보여줌
cat > 파일이름
= 파일이 존재하면? 내용을 덮어쓰게 해줌
= 존재하지 않으면? 파일을 만들고, 내용을 입력할 수 있게 해줌
cat >> 파일이름
= 파일이 존재하면? 내용 뒤에 붙여넣기를 해줌
실습환경 만들기(vscode)
- Remote Repository 생셩
- github에서 log_project 생성
- 주소 복사
- local repository에 clone = git_ws폴더에 복제
git clone + 주소 이름:토큰@주소
- 파일 추가 후 저장
= cd log_project
= cat > hello.py
= print('hello, world')
** ctrl + d 키로 입력한 내용 저장
= git add hello.py
= git commit -m 'create' hello.py
- 파일 수정 후 저장
= cat > hello.py
= print('hello, cat')
= git commit -m 'modify1' hello.py
- branch 생성 후 이동
= git checkout -b dev
= git branch
- 파일 수정 후 저장
= cat > hello.py
= print('hello, dog')
= git commit -m 'modify2' hello.py
- Git Log
- branch 별 변경이력을 볼 수 있음
= git log
현재 위치한 branch의 변경 이력을 보여줌
- 예) git log 실습1
1) main branch로 이동
= git checkout main
2) main branch 로그 확인
= git log
3) dev branch로 이동
= git checkout dev
2) dev branch 로그 확인
= git log
== main에서의 로그도 포함해서 보여줌
- Git Editor 설정
--wait 옵션은 command line으로 vscode를 실행시켰을 경우, vscode인스턴스를 닫을 때까지 command를 대기
= git config --global core.editor <editorname> --wait
= git config --global core.editor 'core --wait'
= git config --global core.editor 'core'
= git config --global core.editor 'vim'
-> esc 는 명령모드 / i 는 수정모드
-> esc - :q! 눌러서 나올 수 있음
버전 간의 차이점 조회가능
- Git Configuration 파일 열기
= git config --global -e
= global에 설정된 editor옵션을 수정하겠다
- Git Diff 설정 추가
[diff]
tool = vscode
[difftool "vscode"]
cmd = "code --wait --diff $LOCAL $REMOTE"
- Git Diff - local branch 간 비교
= git diff <branch1> <branch2>
- Git Diff - commit 간 비교
= git diff <commithash> <commithash>
- 예) commit Hashcode 확인(commit뒤의 문자열)
= git log
- 예) 비교할 버전을 정하고, 해시코드를 복사해옴
= git difftool c5f107068b1e9b42a42e77a5276c09e3e879cdb0
880d19f0f95c4382ac8657a31d075e523a9fbc08
- Git Diff - 마지막 commit과 이전 commit 비교
= git diff HEAD HEAD^
(뜻: 마지막, 마지막 직전)
- 예) commit Hashcode 확인(commit뒤의 문자열)
= git difftool HEAD HEAD^
- Git Diff - 마지막 commit과 현재 '수정사항' 확인
= git diff HEAD
- 예) commit Hashcode 확인(commit뒤의 문자열)
= cat > hello.py
= print('hello, pig')
= git difftool HEAD
아직 COMMIT 안했는데도 DIFF를 보여줌
- Git Diff - Local and Remote 간 비교
= git diff <branch> origin/<branch2>
local remote
- 예)
1) 일단 현재 main branch 상태를 remote repository로 push
= git push origin main
2) 아까 수정한 파일을 commit(local repository의 main branch에만 반영됨)
반영 시켜주고(cat version), 수정한 걸 올려줌
= git commit -m 'modify3' hello.py
3) local repository와 remote branch 비교
= git difftool main origin/main
- Git graph 확인
현재 폴더를 vscode 로 열기 위해 아래와 같은 명령어 입력
= log_project % code .