728x90
728x90
반응형

'small steps > 운동 - 체력이 국력' 카테고리의 다른 글

23.02.19 운동기록  (0) 2023.02.19
23.02.15 운동기록  (0) 2023.02.15
23.02.12 운동기록  (0) 2023.02.12
23.02.11 운동기록  (0) 2023.02.12
23.02.09 운동기록  (0) 2023.02.09
728x90


728x90
반응형

'small steps > 운동 - 체력이 국력' 카테고리의 다른 글

23.02.15 운동기록  (0) 2023.02.15
23.02.13 운동기록  (0) 2023.02.13
23.02.11 운동기록  (0) 2023.02.12
23.02.09 운동기록  (0) 2023.02.09
23.02.08 운동기록  (0) 2023.02.08
728x90
728x90
반응형

'small steps > 운동 - 체력이 국력' 카테고리의 다른 글

23.02.13 운동기록  (0) 2023.02.13
23.02.12 운동기록  (0) 2023.02.12
23.02.09 운동기록  (0) 2023.02.09
23.02.08 운동기록  (0) 2023.02.08
23.02.04 운동기록  (0) 2023.02.04
728x90

 

git diff 코드 정리

git diff
git diff HEAD
git diff --staged
git diff [filename]
git diff [branchname1]..[branchname2]

 

 

 

git diff란?

commit이나 branch 사이에 다른 점

파일(Working Directory)와 Repository 사이에 다른 점을 보여주는 명령어

출처 : [Git] git diff 한 번에 정리하기 — Dev World (kotlinworld.com)

 

 

git diff와 git diff HEAD 차이

1) git diff

Working Directory와 Staging Area 사이의 차이를 확인하기 위해 사용

  • caution : git add로 Staging Area로 넘어갔으면 git diff에서 보여주지 않음

 

2) git diff HEAD

Working Directory와 Staging Area 의 변경사항 모두를 Repository의 HEAD 커밋과 비교함

Staging Area에 올라간 내용은 물론 현재 작업 중인 내용(Working Directory) 모두 Repository의 HEAD와 비교됨

  • Staging Area로 올라가 안보인 변경사항은 git diff HEAD로 보인다

출처 : [Git] git diff 한 번에 정리하기 — Dev World (kotlinworld.com)

 

 

git diff 메세지 내용

상황 : test.txt에 원래 데이터 123에서 456을 추가함

  • 1번 ---a : 변경 전 파일 지칭명
  • 2번 +++b : 변경 후 파일 지칭명
  • 3번 test.text : 변경 전 파일명
  • 4번 test.text : 변경 후 파일명
  • 5번 - : 변경 전 파일 지칭
  • 6번 1,3 : 코드 1번 line 기준으로 3번 line까지 변경됐다는 의미
  • 7번 + : 변경 후 파일 지칭
  • 8번 1,6 : 코드 1번 line 기준으로 6번 line까지 변경됐다는 의미
  • 9번 123 : 변경 전 파일의 코드 1-3번라인의 내용
  • 10번 +4 +5 + 6 : 변경 전 파일(-) 1-3번 라인 뒤에 변경 후, 파일(+) 4-6번라인이 추가됐다는 의미

 

 

 

 

 

 

 

git diff --staged

git diff --staged는 Staging Area와 Repository HEAD 커밋 사이의 변경사항 확인을 위해 사용

커밋 전 사용되는 명령어로 가장 많이 씀

Staging Area에 올라간 변경사항만 Repository의 HEAD 커밋과 비교되며, 현재 작업 중인 Working Directory에서 git add되지 않은 변경된 사항은 반영x

※ git diff --staged와 git diff --cached 같다

출처 : [Git] git diff 한 번에 정리하기 — Dev World (kotlinworld.com)

 

 

git diff [option] [filename]

git add 파일명처럼 특정 파일에 대한 변경사항만 확인할 때 사용

git diff [option] [filename]

 

 

git diff [branch1]..[branch2]

브랜치 간 변경사항 확인

git diff [branch1]..[branch2] 

 

 

 

※ 그냥 git add 하면 git diff가 안나오는데 왜그럴까?

git diff는 Working Directory와 Staging Area 사이의 차이를 보여주는데,

git add를 통해 Staging Area에 변경 사항이 올라가버렸기 때문

 

 

 

 

참고자료

https://kotlinworld.com/278#git%--diff�%--%--%--git%--diff%--HEAD%--�%A-�%--�%-D%B-�%-A%A-�%--%-C%--�%B-%--�%B-�%--�%--��%--�%--�%--%--�%-D%B-

 

 

728x90
반응형
728x90

 

 

어제 하루 종일 git 연습했다. merge conflict 나면 당황하지 않고 스무쓰하게 처리할 수 있게 되는 게 

목표여서 조금이라도 숙달되기 위해 계속 연습했다.

오늘 코딩 공부하면서 지난 번 노트북에서 작업했던 내용 커밋을 까먹었는지 마침 리모트랑 충돌이 나서

처음으로 길이가 좀 있는 코드의 merge conflict를 혼자서 해결했다. 노트북에 코드를 stash하고 원격에 있는 걸 pull 해온 후, stash pop으로 다시 불러와 이 과정에서 merge conflict를 했는데

터미널 안에서 vi 파일명으로 코드 수정 가능한 것도 알았고, 그래서 좀 만져보다가 소스트리로도 해결해보고 싶어서

소스트리에서 충돌난 파일을 인텔리제이로 연결해서 이걸로 수정을 마치고 커밋 푸쉬했다. 처음으로 머지 컨플릭트를 해결해서 한결 성장한 기분이 든다.

좀 더 연습하고 익숙해지면 커밋을 압축하는 squash에 대해 알아봐야겠다. 어제랑 엊그제도 조금 해봤는데 혼란이 와서 일단 머지만 연습했다.

 

이제 정처기 공부하러!

 

 

728x90
반응형

+ Recent posts