[1주차] Git/GitHub (2) 작업 분기, GitHub 공유

ming·2022년 12월 27일
0

STUDY SOJU

목록 보기
2/19
post-thumbnail

📝 Git 작업 분기

git switch -c- 브랜치 생성

기존에 있던 커밋이 있는 저장소에서 -c 옵션으로 add-color 브랜치를 생성하면서 이동

작업
git switch -c add-color

결과
Switched to a new branch 'add-color'

add-color 브랜치에서 작업

새 브랜치에 새 커밋을 작성

작업
touch green blue
echo "녹색" >> green
echo "파랑" >> blue
git add -A # gaa
git commit -m "add green, blue" # gc -m "add green, blue"

결과
[add-color 1b528c8] add green, blue
 2 files changed, 2 insertions(+)
 create mode 100644 blue
 create mode 100644 green

git switch - 브랜치 변경

add-color 브랜치에서 진행한 작업이 기존 main 브랜치와 독립적인 것을 확인

작업
git switch main

결과
Switched to branch 'main'

git merge - 브랜치 합치기

add-color에서 작업한 내용을 main에 합침
add-colormain 브랜치의 차이는 greenblue 파일이 추가된 것인데, Git은 동일한 파일을 수정하지 않으면 자동으로 머지함 (같은 파일을 수정했더라도 서로 다른 줄을 수정하면 자동 머지)

작업
git switch main # gsw main
git merge add-color # gm add-color
git log

결과
Merge made by the 'recursive' strategy.
 blue  | 1 +
 green | 1 +
 2 files changed, 2 insertions(+)
 create mode 100644 blue
 create mode 100644 green

📝 GitHub 공유

git push - 원격 저장소 저장

commit 한 내용 github에 저장하기

작업
git remote add origin https://github.com/username-git/sample.git
git branch -M main
git push -u origin main # gp -u origin main

결과
Username for 'https://github.com':
Password for 'https://username@github.com':
Enumerating objects: 24, done.
Counting objects: 100% (24/24), done.
Delta compression using up to 8 threads
Compressing objects: 100% (15/15), done.
Writing objects: 100% (24/24), 1.82 KiB | 1.82 MiB/s, done.
Total 24 (delta 5), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (5/5), done.
To https://github.com/subicura-git/sample.git
 * [new branch]      main -> main
Branch 'main' set up to track remote branch 'main' from 'origin'.

새 커밋 Push

원격 저장소 연결 후, 로컬에서 navy 파일을 만들고 Push하기

작업
touch navy
echo "네이비" >> navy
git add -A # gaa
git commit -m "add navy" # gc -m "add navy"
git push # gp

결과
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 264 bytes | 264.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/username-git/sample.git
   a580ff2..33d9d23  main -> main

깃허브 페이지에서 새로운 커밋과 파일이 추가된 것 확인 가능

git clone - 원격 저장소 복제

clone 할 원격 저장소의 주소 확인 후 code를 눌러 복제

작업
cd ..
git clone https://github.com/username-git/sample.git sample-2

결과
Cloning into 'sample-2'...
remote: Enumerating objects: 27, done.
remote: Counting objects: 100% (27/27), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 27 (delta 6), reused 27 (delta 6), pack-reused 0
Receiving objects: 100% (27/27), done.
Resolving deltas: 100% (6/6), done.

git pull - 원격 저장소 내용 가져오기

원격 저장소에 변경된 내용을 로컬 저장소로 가져옴 (Git은 원격 저장소와 로컬 저장소를 자동으로 동기화하지 않음)

작업
cd ..
cd sample-2
git pull # gl

결과
Updating 33d9d23..cdce49d
Fast-forward
 purple | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 purple

📖 후기

깃과 깃헙이 뭔지, 둘이 뭐가 어떻게 다른지 그래서 뭐 어디에 쓴다는 건지!! 아무것도 모르던 내가 이번 스터디를 통해서 깃과 깃허브에 대해 큰 틀을 잡을 수 있었다. 하지만 아직 git을 다루는 건 너무 어렵다.. 주말동안 블로그 만들어보겠다고 하루종일 씨름을 했다 그런데 알고 보니 별거 아닌 부분을 잘못 생각해서 혼자 삽질 중이었던 거다 cmder와 git을 얼마나 설치했다 지웠다 했는지.. 결과적으로 클론에는 성공했지만(이랬는데 틀렸으면.. 포크?로 가져오는 거 맞죠 선생님들.. 😂) 아직 제대로 꾸미지를 못 해서 일단은 벨로그에 내용 정리라도 올려봅니다.. 블로그도 어서 이쁘게 꾸미고 배포해서 자랑할 수 있으면 좋겠다!!

0개의 댓글