일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dataframe
- matplotlib
- Google Excel
- Mac
- list
- google apps script
- Kotlin
- GIT
- PANDAS
- c#
- string
- Excel
- Redshift
- array
- numpy
- PySpark
- Python
- Google Spreadsheet
- Apache
- Tkinter
- Java
- 파이썬
- math
- hive
- Github
- gas
- django
- SQL
- PostgreSQL
- Today
- Total
달나라 노트
4. 선택적 commit 본문
commit할 파일 선택해보기
먼저 지난번에 한번 f1.txt라는 파일로 commit을 해보았죠.
또한 여러 파일 중 선택적으로 commit도 할 수 있다고 하였습니다.
이번에는 이 것을 실제로 해보겠습니다.
git log
git log라는 명령어는 내가 commit했던 내역들에 대해 나타내줍니다.
위 이미지를 보면 바로 이전 챕터에서 commit했던 내역이 나옵니다.
내가 적었던 commit message 1이라는 커밋 메세지도 보이구요.
git에서는 commit이 진행될 때 마다 commit별로 id가 부여됩니다.
이것을 commit id라고 하는데 위 이미지에 보시면 commit 497b3643f1c73fed89b778fcde75718081761f7e라고 노란색 부분으로 적힌 것이 보이시나요?
여기에서 commit 뒷부분에 40자리의 숫자와 알파벳의 조합으로 된 텍스트가 바로 commit id입니다.
일단 저는 기존에 존재하는 f1.txt라는 파일을 수정하고, f2.txt라는 파일을 새로 만들겁니다.
그러면 결국 파일의 변경 내역이 f1.txt의 내용 변경와 f2.txt라는 파일의 생성 두 가지가 생기겠죠.
1. vim f2.txt 명령어를 이용하여 f2.txt 파일을 만들기 위해 vim editor로 들어갑니다.
2. f2.txt 파일에 test contents 2라는 내용을 입력하고 :wq 명령어를 이용해 내용을 저장해준 후 메인 콘솔창으로 나옵니다.
3. vim f1.txt 명령어를 이용하여 f1.txt 파일을 수정할 것입니다.
4. f1.txt 파일에 second edit of f1 txt 라는 내용을 추가하고 :wq 명령어를 사용해 메인 콘솔창으로 나옵니다.
5. 자 이제 f1.txt파일과 f2.txt파일에 모두 수정사항이 생겼습니다.
이 상태에서 git status 명령어를 쳐보면 f1.txt 파일과 f2.txt파일이 모두 빨간색으로 표시되는 것을 알 수 있습니다.
f1.txt의 경우는 Changes not staged for commit이라고 적인 section에 표시되어있으며 modified라고 표시되어있습니다.
즉, f1.txt파일에 수정 사항(modified)이 생겼으며 이 수정사항은 아직 commit을 위해 stage에 올라있지 않다(Changes not staged for commit)라는 뜻입니다.
또한 f2.txt는 Untracked file이라는 section에 표시되어있죠.
이 말은 f1.txt는 이전에 한번 git add를 통해 트래킹 하는 파일 목록에 넣어놨으나 f2.txt 파일은 이제 처음 생긴것이므로 트래킹되지 않고 있다는 의미입니다.
6. 저는 f2.txt 파일은 commit하지 않고 f1.txt 파일만 commit할 것입니다.
따라서 git add f1.txt 명령어를 이용해 f1.txt 파일을 stage에 올립니다.
7. 그 후 다시 git status 명령어를 쳐보면 f1.txt 파일이 초록색으로 표시되며 Changed to be committed라고 적혀있는 section에 f1.txt 파일이 표시되고 있습니다.
f1.txt 파일이 stage에 올라갔다는 의미입니다.
반면에 f2.txt 파일은 stage에 올리지 않았으니 아직도 빨간색으로 표시되고있죠.
8. git commit 명령어를 이용하여 현재 stage에 있는 모든 파일(여기서는 f1.txt 파일)을 commit합니다.
이때 commit message는 commit message 2라고 적어줍니다.
commit message 작성까지 완료되었으며 :wq 명령어를 이용해 메인 콘솔 화면으로 나옵니다.
9. commit을 완료하고 git status 명령어를 이용하여 현재 상태를 보면 f1.txt에 대한 내역은 사라지고 f2.txt파일만 여전히 빨간색으로 표시되고 있습니다.
10. git log 명령어를 이용해 commit history를 보면 방금 적었던 commit message 2에 대한 commit이 추가된 것을 볼 수 있으며 commit message 2에 대한 commit id도 확인할 수 있습니다.
여러 개 수정사항 동시 commit
위에선 f1.txt와 f2.txt 모두 수정/생성 내역이 있지만 f1.txt만 선택적으로 commit을 하였습니다.
그렇다면 여러 가지 변경사항을 동시에 commit 해보겠습니다.
1. vim f1.txt 명령어를 이용하여 f1.txt를 수정합니다.
2. f1.txt 파일에 third edit of f1 txt라는 내용을 입력하고 :wq 명령어를 이용하여 저장 후 메인 콘솔창으로 나옵니다.
3. 이 상태에서 git status로 현재 상태를 보면 아까처럼 f1.txt, f2.txt파일 모두 빨간색으로 표시되어 있습니다.
두 파일 모두 파일 내용의 수정이나 파일이 새로 생겼으나 stage에 올라가있지 않다는 뜻입니다.
4. 두 파일 모두 stage에 올려주겠습니다.
git add f1.txt를 입력한 후 엔터, git add f2.txt를 입력한 후 엔터를 눌러줍니다.
즉, git add명령어로 f1.txt와 f2.txt를 각각 stage에 올려줬습니다.
5. 이 상태에서 git status 명령어를 이용해 현재 상태를 봐봅시다.
두 파일 다 Chages to be committed 섹션에 나와있으며 f1.txt는 내용이 수정되었으니 modified로 표시되어있고, f2.txt는 새로 생성된 파일이니 new file이라고 나와있습니다.
6. git commit 명령어를 이용해 commit을 진행합니다.
7. commit message를 적어줍니다.
모두 적었으면 :wq 명령어를 이용해 commit message를 저장한 후 메인 콘솔창으로 나옵니다.
8. git log 명령어로 commit history를 보면 방금 commit한 commit message 3에 대한 commit이 보이는 것을 확인할 수 있습니다.
'Github' 카테고리의 다른 글
6. 버전 되돌리기 맛보기(reset, revert) (0) | 2021.01.15 |
---|---|
5. 버전 관리 (0) | 2021.01.15 |
3. add, commit (0) | 2021.01.15 |
2. GIT의 시작 (0) | 2021.01.15 |
1. GIT Installation (0) | 2021.01.15 |