git add, commit 실습
커밋 실습
(1) 첫 번째 커밋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 파일 생성
echo '#!/bin/bash' > test.sh
# git add
git add test.sh
# git commit
git commit -m "first commit"
>> 1 file changed, 1 insertion(+)
>> create mode 100644 test.sh
# git status
>> On branch main
>> nothing to commit, working tree clean
# git log
git log
>> commit 37b90cce0f841afd5e6368f02c4a7e77810bf127 (HEAD -> main)
>> Author: jongya <abc@naver.com>
>> Date: Fri Nov 29 16:04:52 2024 +0900
>> first commit
(2) 두 번째 커밋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 파일 수정
echo "echo Hello Linux"
# 파일 내용 확인
cat ./test.sh
>> \#!/bin/bash
>> echo Hello Linux
# git status
>> On branch main
>> Changes not staged for commit:
>> (use "git add <file>..." to update what will be committed)
>> (use "git restore <file>..." to discard changes in working directory)
>> modified: test.sh # modified : repo 에 등록된 추적되는 파일이 수정됨
>> no changes added to commit (use "git add" and/or "git commit -a")
# git commit
git commit -am "second commit" # add 와 commit 을 한 번에
>> [main cbf9cc6] second commit
>> 1 file changed, 1 insertion(+)
# git log
git log --oneline
>> cbf9cc6 (HEAD -> main) second commit # 두 번째 커밋
>> 37b90cc first commit # 첫 번째 커밋
(3) 세 번째 커밋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# 파일 수정
echo 'echo $0 $1 $2' >> test.sh
# 파일 내용 확인
cat ./test.sh
>> \#!/bin/bash
>> echo Hello Linux
>> echo $0 $1 $2
# git status
git status -s
>> M test.sh # M : 빨간색 - 수정됨 / 초록색 - 수정전
# git commit
git commit -am "third commit"
>> [main c175163] third commit
>> 1 file changed, 1 insertion(+)
# git log --graph
git log --graph --oneline
>> * c175163 (HEAD -> main) third commit
>> * cbf9cc6 second commit
>> * 37b90cc first commit
git log --graph
>> * commit c175163158d0e78f259b64ffb76b72a985e7f697 (HEAD -> main)
>> | Author: jongya <abc@naver.com>
>> | Date: Fri Nov 29 16:50:33 2024 +0900
>> |
>> | third commit
>> |
>> * commit cbf9cc608bbd1656ba9008c7e25c94493700a91b
>> | Author: jongya <abc@naver.com>
>> | Date: Fri Nov 29 16:46:08 2024 +0900
>> |
>> | second commit
>> |
>> * commit 37b90cce0f841afd5e6368f02c4a7e77810bf127
>> Author: jongya <abc@naver.com>
>> Date: Fri Nov 29 16:04:52 2024 +0900
>>
>> first commit
커밋간 차이 보기
커밋간 차이를 볼 때에는 git show <commit ID>
또는 git show HEAD
, 혹은 전체 커밋의 차이를 보고 싶을 때에는 git log --patch
명령어를 사용한다.
-git show <commit ID>
: 지정 커밋과 이전 커밋의 차이를 보여준다.
-git show HEAD
: 현재 커밋과 이전 커밋의 차이를 보여준다.
-git log --patch
: 전체 커밋에서 파일 간 차이를 보여준다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 어떤 커밋들이 있는지 확인
git log --oneline
>> c175163 (HEAD -> main) third commit
>> cbf9cc6 second commit
>> 37b90cc first commit
# 커밋 지정 확인 (second)
>> commit cbf9cc608bbd1656ba9008c7e25c94493700a91b
>> Author: jongya <abc@naver.com>
>> Date: Fri Nov 29 16:46:08 2024 +0900
>>
>> second commit
>>
>> diff --git a/test.sh b/test.sh
>> index a9bf588..29446b0 100644
>> --- a/test.sh
>> +++ b/test.sh
>> @@ -1 +1,2 @@
>> \#!/bin/bash
>> +echo Hello Linux
# 현재 커밋(HEAD) 확인
>> commit c175163158d0e78f259b64ffb76b72a985e7f697 (HEAD -> main)
>> Author: jongya <abc@naver.com>
>> Date: Fri Nov 29 16:50:33 2024 +0900
>>
>> third commit
>>
>> diff --git a/test.sh b/test.sh
>> index 29446b0..20c3a07 100644
>> --- a/test.sh
>> +++ b/test.sh
>> @@ -1,2 +1,3 @@
>> \#!/bin/bash
>> echo Hello Linux
>> +echo $0 $1 $2
# 로그 전체는 너무 길어서 생략