자습시간에 어제 배웠던 Git add, commit, push를 복습해봤다.
우선 Github에서 새로운 Repository를 생성.
Spiderman-Revise.
Git Bash에서 Dev directory에 $ Git clone [HTTPS 주소]을 했다.
touch spiderman.md 로 파일 생성.
$ git branch TobeyMaguire 로 브랜치 생성.
$ git branch AndrewGarfield
$ git branch Tom_Holland 나머지 동일
spiderman.md git add, git commit을 실행하지 않아서인지
branch들에 파일이 없다..
다시 브랜치들을 다 지우고, $ git branch -D TobeyMaguire, $ git~~~, ~~~~
main branch spiderman.md의 git add, git commit을 실행 후, TobeyMaguire, AndrewGarfield, Tom_Holland Branch 생성
$ git switch TobeyMaguire
$ ls
$ vi spiderman.md
내용 작성 후, :wq 로 write and quit.
$ cat spiderman.md 로 확인
$ git add spiderman.md
$ git commit spiderman.md
# Feat: Add TobeyMaguire , :wq
$ git status
다시 메인으로 스위치
$ git switch main
$ git merge TobeyMaguire 실행
$ git add spiderman.md
$ git commit spiderman.md 를 했지만
** nothing to commit 이라는게 떳다. 아마 merge를 하면 자동으로 commit이 되는거같은데..잘 모르겠다 **
그리고 끝난 TobeyMaguire branch 삭제
$ git branch -D TobeyMaguire
왜 저때 만들었는지 모르지만 미리 만들어놓은 AndrewGarfield, Tom_Holland Branch 도 삭제.
혹시나 해서 $ git branch -D AndrewGarfield Tom_Holland 를 실행했더니 두개가 한꺼번에 지워진다.
$ git branch 도 여러개 만드는게 가능한거 같은데.. 끝나고 해봐야겠다. -안됨
TobeyMaguire 처럼 AndrewGarfield와 Tom_Holland도 똑같이 실행.
각 Branch에서 spiderman.md 내용 추가 후, add랑 commit 실행.
다시 main으로 돌아와서 merge 후, add만 실행하고 commit은 실행안했다.
그 후 각 branch는 $ git branch -D ~~~~ 삭제
Branch를 옮겨다니는데 Push를 안하니까 main으로 돌아올때마다 Bash가 TMI를 던진다
안하면 어떻게되는지 궁금해서 안했고,
마지막 작업이 끝나고 push를 했는데 no problem.
다음엔 push 하라고 할때마다 해봐야겠다.
여기까지 add commit push를 복습해봤고,
merge conflict를 해보기 위해
main에서 spiderman.md에서 Tom Holland를 제거한 후 다시 Tom_Holland Branch를 생성하였고,
main에서는 랜덤한 데이터를 넣고, Tom Holland Branch에서는 다시 작성 후 main으로 돌아와 merge를 해봤다
이런식으로 Main과 Tom_Holland의 충돌을 보여줌.
$ vi spiderman.md로 바꾼 후, 다시 merge를 했는데,
이전꺼가 해결되면 merge를 한다고한다.
main|MERGING이라고 뜨는걸 봐서는 아직 이전 Merging이 안끝난거같은데
$ git commit spiderman.md 를 실행했더니 cannot do a partial commit during a merge 라고해서,
$ got commit 만 적었더니 문제가 해결됐다.
뭔 차인지 모르겠지만, 한쪽만 commit을 하면 안되는거 같다..
$ git push origin main 으로 어제 배운것들 복습 완료.
참고사항:
Commit(특정 시점에 파일의 변화를 저장하기)란?
- 게임의 세이브에 해당하는 행동, 즉 변화한 부분을 저장하는 것을 의미
- git에서 커밋(commit)한다고 함
- 언제든지 커밋한 시점으로 되돌아 갈 수 있음
- 저장을 원하는 파일을 묶어서 커밋 명령을 수행
- EX) 기본 디자인에서 1~4차 수정을 했지만, 2번 버전의 디자인을 사용하기로 함
매 수정마다 커밋을 했다면 2번 수정으로 돌아갈 수 있음
add(스테이지에 올린다) 란?
- 커밋(commit)하기 전에 저장을 원하는 파일들을 묶는 일
- 이 작업을 "스테이지에 파일을 올린다"라고 함
- 간단하게 'add'라고 함
- 내 컴퓨터의 스테이지에 작업한 10개 중 1~5번까지를 묶어서 커밋(commit)하고 싶다면, 1~5를 스테이지 올려야 함
- 이때, 1~5파일을 스테이지로 올리는 과정을 add라고 함
push(github에 업로드) 란?
- 커밋(commit)을 하면 현재 작업 내용이 내 컴퓨터에 저장이 됨
- 내 컴퓨터에 있는 파일을 클라우드 개념의 원격 저장소(구글 드라이브, github)에 업로드함
- github에 push하는 것은 내 컴퓨터에 커밋한 파잇을 github 사이트에 업로드하는 것을 의미
- 내 컴퓨터에 프로젝트 파일이 없더라도 어디서든지 github 사이트에서 프로젝트 폴더를 다운받아서 수정하면 됨
2. github 업로드 절차(프로세스)
github에 파일을 업로드 하는 절차
1. github 원격 저장소 생성
2. github 원격 저장소 클론(복제하기)
3. 내 로컬(내 컴퓨터)에 프로젝트 폴더 생성 후, 복제한 원격 저장소 다운받기
4. 내 로컬의 원격 저장소 폴더에서 (코딩) 작업하기
5. add 하기: 작업한 파일 중에서 원격 저장소에 반영할 부분 추가하기
6. commit 하기: 먼저 로컬(내 컴퓨터)에서 수정된 (코딩)파일 반영하기
7. push 하기: 로컬(내 컴퓨터)에서 수정한 (코딩)파일을 github 원격 저장소에 반영하기
8. github.com/{나의 아이디}/{프로젝트 이름} 링크를 통해서 정상적으로 업로드되었는지 확인
'Back-End TIL > Git, Github' 카테고리의 다른 글
220920 Github 에러 (1) | 2022.09.20 |
---|---|
220916 Git/Github - 3 (0) | 2022.09.16 |
220914 TIL - Git/GitHub (0) | 2022.09.14 |