git 협업준비

branch, rebase, merge
홍윤's avatar
Aug 27, 2024
git 협업준비
 

1. 처음 설정

git config --global user.name john git config --global user.email john@personal.com
 
💡
ctrl+C 잘못 입력하면 사용하기!!
 

2.git init, git add . , git commit 저장

💡
1. git init: 이 명령어는 현재 디렉토리에 새로운 Git 저장소를 초기화합니다. 이 명령어를 실행하면 .git이라는 숨김 폴더가 생성되며, 이 폴더에는 Git이 프로젝트의 변경 사항을 추적하는 데 필요한 모든 파일과 메타데이터가 포함됩니다. 프로젝트에서 Git을 처음 사용할 때 한 번만 실행하면 됩니다. 2. git add .: 이 명령어는 현재 디렉토리와 그 하위 디렉토리의 모든 변경된 파일들을 스테이징 영역에 추가합니다. 즉, Git이 추적할 준비가 된 상태로 파일들을 등록하는 것입니다. 여기서 .은 현재 디렉토리를 의미하며, 이 명령어를 실행하면 모든 변경 사항이 포함됩니다. 3. git commit: 이 명령어는 스테이징 영역에 있는 변경 사항들을 하나의 커밋으로 저장소에 기록합니다. 커밋은 Git에서 변경 사항의 스냅샷을 의미하며, 일반적으로 커밋 메시지를 함께 작성하여 변경 사항에 대한 설명을 남깁니다. 예를 들어, git commit -m "초기 커밋"처럼 사용합니다.
4o
ex01)
git init → 예쁜태양
git add . →예쁜태양 저장
git commit 저장
notion image
 
 
notion image
 
notion image
 

3.branch

 
💡
Git에서 **브랜치(branch)**는 특정 시점의 코드 상태를 가리키는 가상의 포인터입니다. 쉽게 말해, 브랜치는 프로젝트에서 독립적으로 작업을 진행할 수 있는 하나의 "가지"라고 생각할 수 있습니다.

왜 브랜치를 사용할까요?

  • 독립된 작업: 브랜치를 사용하면 현재 코드에 영향을 주지 않고 새로운 기능을 개발하거나 버그를 수정할 수 있습니다. 각 브랜치는 독립적으로 작업할 수 있기 때문에 다른 브랜치와 격리된 상태로 유지됩니다.
  • 안전한 통합: 기능 개발이 완료되면, 해당 브랜치를 main 또는 master 브랜치와 병합(merge)하여 프로젝트에 반영할 수 있습니다. 이렇게 하면 실수로 코드에 문제가 생기더라도 쉽게 되돌릴 수 있습니다.

예시

  • main 브랜치: 대부분의 프로젝트에서 기본 브랜치로 사용됩니다. 이 브랜치는 배포 가능한 안정된 코드가 있는 곳입니다.
  • 기능 브랜치(feature branch): 새로운 기능을 개발할 때 사용하는 브랜치입니다. 예를 들어, feature/login-system이라는 브랜치에서 로그인 기능을 개발할 수 있습니다.
  • 버그 수정 브랜치(hotfix branch): 긴급한 버그를 수정할 때 사용하는 브랜치입니다. 예를 들어, hotfix/critical-bug이라는 브랜치를 만들어 긴급 버그를 수정할 수 있습니다.

기본 브랜치 명령어

  • 브랜치 생성: git branch <브랜치 이름>
  • 브랜치 전환: git checkout <브랜치 이름> 또는 git switch <브랜치 이름>
  • 브랜치 병합: git merge <브랜치 이름>

브랜치 전환

  • git checkout <브랜치 이름>
    • 이 명령어는 작업 중인 브랜치를 다른 브랜치로 변경할 때 사용됩니다. 예를 들어, 현재 main 브랜치에서 작업 중인데, feature/login-system이라는 브랜치로 전환하고 싶다면 git checkout feature/login-system을 실행합니다.
    • checkout 명령어는 브랜치를 전환하는 것 외에도, 특정 커밋으로 되돌아가거나, 특정 파일의 이전 버전을 체크아웃할 때도 사용할 수 있습니다.
  • git switch <브랜치 이름>
    • 이 명령어는 브랜치 전환만을 목적으로 만들어진 명령어입니다. git checkout과 같은 기능을 하지만, 오직 브랜치 전환만을 수행합니다.
    • 예를 들어, git switch feature/login-system을 실행하면 feature/login-system 브랜치로 전환됩니다. switch는 단순히 브랜치를 변경할 때 더 명확하고 직관적입니다.

브랜치 병합

  • git merge <브랜치 이름>
    • 이 명령어는 현재 작업 중인 브랜치에 다른 브랜치의 변경 사항을 병합(merge)할 때 사용됩니다.
    • 예를 들어, main 브랜치에 feature/login-system 브랜치의 변경 사항을 병합하고 싶다면, 먼저 main 브랜치로 전환한 뒤 git merge feature/login-system을 실행합니다.
    • merge는 두 브랜치의 내용을 합쳐서 하나의 브랜치로 만듭니다. 이 과정에서 충돌(conflict)이 발생할 수 있으며, 이는 두 브랜치에서 동일한 부분을 다르게 수정했을 때 발생합니다. 충돌이 발생하면 수동으로 해결하고, 다시 커밋하여 병합을 완료합니다.
이 두 과정은 협업과 기능 개발에서 매우 중요한 역할을 합니다. 브랜치 전환은 여러 작업을 분리하여 진행할 수 있게 해주며, 병합은 그 작업들을 통합하여 하나의 프로젝트로 만들어줍니다.
브랜치를 통해 여러 작업을 동시에 진행하면서도 코드의 안정성을 유지할 수 있습니다.
ex02
GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 $ git init GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 $ git init Initialized empty Git repository in C:/metacoding/gitwork/ex02/.git/ GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git commit -m "회원가입" [master (root-commit) bfd59ce] 회원가입 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\355\232\214\354\233\220\352\260\200\354\236\205.txt" GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git log commit bfd59ce06a89deb77f154114662eae336321ab1b (HEAD -> master) Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 10:13:49 2024 +0900 회원가입 GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git commit -m '로그인' [master 72f031a] 로그인 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\353\241\234\352\267\270\354\235\270.txt" GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git log commit 72f031a0a30edf065bff6445bd73078bac56426f (HEAD -> master) Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 10:14:58 2024 +0900 로그인 commit bfd59ce06a89deb77f154114662eae336321ab1b Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 10:13:49 2024 +0900 회원가입 GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git branch topic GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git branch * master topic GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git checkout topic Switched to branch 'topic' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (topic) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (topic) $ git commit -m "아이디중복체크" [topic b79d48a] 아이디중복체크 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\354\225\204\354\235\264\353\224\224\354\244\221\353\263\265\354\262\264\355\201\254.txt" GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (topic) $ git checkout master Switched to branch 'master' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex02 (master) $ git branch -D topic (이건 선생님께서만 하셨음 브렌치 지우기) $git checkout -b topic => 브렌치 생성시 체크아웃을 한다.ㅎ

4. 3-Way MergeFast-Forward Merge

 
💡
3-Way MergeFast-Forward Merge는 Git에서 브랜치를 병합할 때 사용되는 두 가지 주요 방식입니다. 이 두 방법은 브랜치의 상황에 따라 다른 방식으로 병합을 처리합니다.

Fast-Forward Merge

Fast-Forward Merge는 병합할 브랜치가 단순히 대상 브랜치의 이후 커밋만 포함하는 경우에 사용됩니다.

작동 방식:

  • 조건: Fast-forward 병합이 가능하려면, 병합하려는 브랜치가 대상 브랜치에서 직접 분기된 후, 대상 브랜치에 추가된 커밋이 없어야 합니다.
  • 결과: 병합 대상 브랜치의 포인터(예: main)를 병합할 브랜치의 마지막 커밋으로 "앞으로" 이동시키기만 하면 됩니다. 이 과정에서 병합 커밋이 생성되지 않고, 히스토리는 직선형으로 깔끔하게 유지됩니다.

장점:

  • 깔끔한 히스토리: 불필요한 병합 커밋이 없어 히스토리가 단순하고 직관적입니다.

단점:

  • 병합 기록이 없음: 병합 커밋이 없기 때문에, 두 브랜치가 언제 병합되었는지 명확하게 나타나지 않습니다.

3-Way Merge

3-Way Merge는 브랜치가 병합될 때, 병합하려는 두 브랜치 외에도 공통 조상(commit)을 사용하여 병합하는 방식입니다.

작동 방식:

  • 조건: 병합하려는 두 브랜치가 각각 독립적으로 커밋을 추가해, 서로 다른 히스토리를 가지고 있을 때 사용됩니다.
  • 결과: Git은 두 브랜치의 공통 조상을 기준으로, 각 브랜치에서 변경된 내용을 비교하여 병합합니다. 이 과정에서 새로운 병합 커밋이 생성되며, 두 브랜치의 변경 사항이 하나로 합쳐집니다.

장점:

  • 복잡한 병합 처리 가능: 공통 조상을 기준으로 하기 때문에, 서로 다른 히스토리를 가진 브랜치를 병합할 때 매우 유용합니다.
  • 명확한 기록: 병합 커밋이 생성되므로, 브랜치가 언제, 어떻게 병합되었는지 명확히 기록됩니다.

단점:

  • 히스토리가 복잡해질 수 있음: 병합 커밋이 추가되면서 히스토리가 복잡해질 수 있습니다.

요약

  • Fast-Forward Merge:
    • 사용 조건: 브랜치가 직선형으로 이어져 있을 때 (즉, 대상 브랜치에 추가 커밋이 없을 때).
    • 결과: 병합 커밋 없이 브랜치 포인터만 이동.
    • 장점: 히스토리가 깔끔하고 단순.
    • 단점: 병합 기록이 명확하지 않음.
  • 3-Way Merge:
    • 사용 조건: 두 브랜치가 각각 독립된 커밋을 가지고 있을 때.
    • 결과: 새로운 병합 커밋이 생성되어 히스토리에 병합 과정이 기록됨.
    • 장점: 복잡한 병합 상황 처리 가능, 병합 기록이 명확.
    • 단점: 히스토리가 복잡해질 수 있음.
이 두 병합 방법은 상황에 따라 사용되며, 어떤 상황에서는 직관적인 히스토리를 유지하는 Fast-Forward Merge가 적합하고, 어떤 상황에서는 모든 변경 사항을 명확히 기록하는 3-Way Merge가 필요합니다.
 
ex03
GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 $ git init Initialized empty Git repository in C:/metacoding/gitwork/ex03/.git/ GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (master) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (master) $ git commit -m "회원가입" [master (root-commit) 09838c2] 회원가입 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\355\232\214\354\233\220\352\260\200\354\236\205" GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (master) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (master) $ git commit -m "로그인" [master 71fb818] 로그인 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\353\241\234\352\267\270\354\235\270" GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (master) $ git log commit 71fb81814d233190194afd84d3b3a17d5a3c0e47 (HEAD -> master) Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 10:33:49 2024 +0900 로그인 commit 09838c24c892c5b052f704ca20ce198914bbef87 Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 10:33:26 2024 +0900 회원가입 GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (master) $ git checkout -b topic Switched to a new branch 'topic' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (topic) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (topic) $ git commit -m "아이디중복체크" [topic 4b71897] 아이디중복체크 3 files changed, 0 insertions(+), 0 deletions(-) rename "\353\241\234\352\267\270\354\235\270" => "\353\241\234\352\267\270\354\235\270.txt" (100%) rename "\355\232\214\354\233\220\352\260\200\354\236\205" => "\354\225\204\354\235\264\353\224\224\354\244\221\353\263\265\354\262\264\355\201\254.txt" (100%) create mode 100644 "\355\232\214\354\233\220\352\260\200\354\236\205.txt" GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (topic) $ git log commit 4b718979a003b2bc381eb6232a72039251fa7d06 (HEAD -> topic) Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 10:35:41 2024 +0900 아이디중복체크 commit 71fb81814d233190194afd84d3b3a17d5a3c0e47 (master) Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 10:33:49 2024 +0900 로그인 commit 09838c24c892c5b052f704ca20ce198914bbef87 Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 10:33:26 2024 +0900 회원가입 GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (topic) $ git checkout master Switched to branch 'master' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (master) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (master) $ git commit -m "글쓰기" [master 72bf536] 글쓰기 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "\352\270\200\354\223\260\352\270\260.txt" GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex03 (master) $
 

5.rebase, merge

💡
*rebase*와 **merge*는 Git에서 브랜치를 병합할 때 사용하는 두 가지 주요 방법입니다. 이 두 방법은 각각 장단점이 있으며, 서로 다른 시나리오에서 사용됩니다. 아래에서 각각의 개념과 차이점을 설명하겠습니다.
 

1. git merge

  • 기능: 두 브랜치를 병합하여 하나의 커밋 히스토리로 합칩니다.
  • 작동 방식:
    • 예를 들어, feature 브랜치에서 작업을 완료한 후 이를 main 브랜치에 병합한다고 가정해봅시다. git merge feature 명령어를 사용하면 main 브랜치에 feature 브랜치의 변경 사항이 통합됩니다.
    • 이 과정에서 Git은 두 브랜치의 공통 조상(commit)에서 시작하여 각 브랜치의 변경 사항을 합쳐 새로운 병합 커밋(merge commit)을 생성합니다.
    • 병합 커밋은 두 브랜치의 변경 사항을 기록하고, 히스토리 상에서 병합이 발생한 지점을 명확히 보여줍니다.
  • 장점:
    • 병합 과정이 명확하게 기록됩니다.
    • 기존 히스토리가 변경되지 않고 보존됩니다.
  • 단점:
    • 병합 커밋이 추가되므로, 히스토리가 복잡해질 수 있습니다.

2. git rebase

  • 기능: 한 브랜치의 커밋 히스토리를 다른 브랜치의 끝으로 이동시킵니다.
  • 작동 방식:
    • 예를 들어, feature 브랜치에서 작업한 내용을 main 브랜치 위에 올리고 싶다면, git rebase main 명령어를 사용합니다.
    • 이 명령어는 feature 브랜치의 커밋을 main 브랜치의 최신 커밋 이후로 재배치합니다. 이렇게 하면 feature 브랜치의 변경 사항이 마치 main 브랜치의 최신 커밋 이후에 바로 만들어진 것처럼 보입니다.
    • 결과적으로, 병합 커밋 없이 두 브랜치의 히스토리가 하나로 이어지며 깔끔한 직선형의 커밋 히스토리가 생성됩니다.
  • 장점:
    • 히스토리가 깔끔하게 유지됩니다.
    • 병합 커밋이 생성되지 않으므로, 히스토리를 추적하기 쉽습니다.
  • 단점:
    • 기존 커밋이 재작성되므로, 이미 공유된 커밋에 대해 rebase를 사용하면 충돌이 발생할 수 있고, 협업에 문제가 생길 수 있습니다.
    • 충돌이 발생할 경우, 여러 커밋에서 충돌을 해결해야 할 수 있습니다.

3. 언제 mergerebase를 사용할까?

  • merge를 사용할 때:
    • 히스토리의 병합 과정을 명확하게 기록하고 싶을 때.
    • 여러 사람과 협업 중일 때, 특히 이미 다른 팀원과 공유된 브랜치에서는 merge가 더 안전합니다.
  • rebase를 사용할 때:
    • 깔끔한 직선형 히스토리를 유지하고 싶을 때.
    • 혼자서 작업 중이거나, 아직 공유되지 않은 브랜치의 커밋을 정리하고 싶을 때.

정리

  • *merge*는 브랜치를 합치는 방법으로, 병합 커밋을 만들어 두 브랜치의 변경 사항을 하나로 만듭니다.
  • *rebase*는 브랜치의 커밋 히스토리를 다른 브랜치의 끝으로 이동시켜, 병합 커밋 없이 히스토리를 직선형으로 만듭니다.
두 방법 모두 브랜치 병합을 처리할 수 있지만, 상황에 따라 적절한 방법을 선택하는 것이 중요합니다.
GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 $ git init Initialized empty Git repository in C:/metacoding/gitwork/ex05/.git/ GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git commit -m "a" [master (root-commit) 5ba97bb] a 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 a GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git add Nothing specified, nothing added. hint: Maybe you wanted to say 'git add .'? hint: Disable this message with "git config advice.addEmptyPathspec false" GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git commit -m "b" On branch master Untracked files: (use "git add <file>..." to include in what will be committed) b nothing added to commit but untracked files present (use "git add" to track) GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git commit -m "b" On branch master Untracked files: (use "git add <file>..." to include in what will be committed) b nothing added to commit but untracked files present (use "git add" to track) GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git log commit 5ba97bb1ff76d0f2de2f3e90a31d8279cd9b9696 (HEAD -> master) Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 12:30:08 2024 +0900 a GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git init Reinitialized existing Git repository in C:/metacoding/gitwork/ex05/.git/ GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git commit -m "b" [master a43dbaa] b 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 b GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git log commit a43dbaa5aa7d3d79be80e1c17586a4afeed713c6 (HEAD -> master) Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 12:31:22 2024 +0900 b commit 5ba97bb1ff76d0f2de2f3e90a31d8279cd9b9696 Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 12:30:08 2024 +0900 a GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git checkout -b topic Switched to a new branch 'topic' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (topic) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (topic) $ git commit -m "d" [topic c220cc6] d 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 d GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (topic) $ git checkout master Switched to branch 'master' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git commit -m "c" [master a6fcfe0] c 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 c GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (master) $ git checkout topic Switched to branch 'topic' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (topic) $ git rebase master Successfully rebased and updated refs/heads/topic. GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (topic) $ git log commit 0588f1bf46ef4d7fb690033d5853b0f85c3a8d0c (HEAD -> topic) Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 12:31:53 2024 +0900 d commit a6fcfe07b93670906d2547eaea5a3fd1272f0d9b (master) Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 12:32:39 2024 +0900 c commit a43dbaa5aa7d3d79be80e1c17586a4afeed713c6 Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 12:31:22 2024 +0900 b commit 5ba97bb1ff76d0f2de2f3e90a31d8279cd9b9696 Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 12:30:08 2024 +0900 a GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/ex05 (topic) $
 

협업
GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (b-topic) $ git checkout dev Switched to branch 'dev' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (dev) $ git log commit 0ef219e0475eb8089babf32fb32c9359b5fad28e (HEAD -> dev) Author: Zerfa <zerfa@naver.com> Date: Tue Aug 27 14:18:46 2024 +0900 프로젝트 세팅완료 GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (dev) $ git checkout b-topic Switched to branch 'b-topic' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (b-topic) $ git log commit c37bec1c05ea95cc5815ba2f2ebcad48d3839a9a (HEAD -> b-topic) Merge: a0522f4 6dc19ca Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 15:19:33 2024 +0900 Merge branch 'dev' of https://github.com/KimSoapSoap/instagram into b-topic commit a0522f4b7ec8c974ecda82fadd2003f6daea770d Author: unikyul <zldzkdbs97@gmail.com> Date: Tue Aug 27 15:16:07 2024 +0900 b기능완료 GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (b-topic) $ git log commit 6dc19ca59565919db9484ae67d7a84008f676128 (HEAD -> b-topic, origin/dev) Merge: 0ef219e 2b45ecf Author: ZerFa <84009326+KimSoapSoap@users.noreply.github.com> Date: Tue Aug 27 15:02:29 2024 +0900 Merge pull request #1 from KimSoapSoap/a-topic a기능완료 commit 2b45ecf9765b6d7dbb6a36ce4d2d003b87974b50 Author: eunmouse <ejha1208@gmail.com> Date: Tue Aug 27 14:45:44 2024 +0900 a기능완료 commit 0ef219e0475eb8089babf32fb32c9359b5fad28e (dev) Author: Zerfa <zerfa@naver.com> Date: Tue Aug 27 14:18:46 2024 +0900 프로젝트 세팅완료 GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (b-topic) $ git log commit 6dc19ca59565919db9484ae67d7a84008f676128 (HEAD -> b-topic, origin/dev) Merge: 0ef219e 2b45ecf Author: ZerFa <84009326+KimSoapSoap@users.noreply.github.com> Date: Tue Aug 27 15:02:29 2024 +0900 Merge pull request #1 from KimSoapSoap/a-topic GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (b-topic) $ git checkout dev Switched to branch 'dev' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (dev) $ git branch -D b-topic Deleted branch b-topic (was 6dc19ca). GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (dev) $ git checkout -b b-topic Switched to a new branch 'b-topic' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (b-topic) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (b-topic) $ git commit -m "b기능완료" [b-topic da4f806] b기능완료 1 file changed, 1 insertion(+) create mode 100644 "b\352\270\260\353\212\245.txt" GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (b-topic) $ git checkout dev Switched to branch 'dev' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (dev) $ git pull origin dev From https://github.com/KimSoapSoap/instagram * branch dev -> FETCH_HEAD Updating 0ef219e..6dc19ca Fast-forward "a\352\270\260\353\212\245.txt" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "a\352\270\260\353\212\245.txt" GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (dev) $ git log commit 6dc19ca59565919db9484ae67d7a84008f676128 (HEAD -> dev, origin/dev) Merge: 0ef219e 2b45ecf Author: ZerFa <84009326+KimSoapSoap@users.noreply.github.com> Date: Tue Aug 27 15:02:29 2024 +0900 Merge pull request #1 from KimSoapSoap/a-topic a기능완료 commit 2b45ecf9765b6d7dbb6a36ce4d2d003b87974b50 Author: eunmouse <ejha1208@gmail.com> Date: Tue Aug 27 14:45:44 2024 +0900 a기능완료 commit 0ef219e0475eb8089babf32fb32c9359b5fad28e Author: Zerfa <zerfa@naver.com> Date: Tue Aug 27 14:18:46 2024 +0900 프로젝트 세팅완료 GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (dev) $ git checkout b-topic Switched to branch 'b-topic' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (b-topic) $ git rebase dev Successfully rebased and updated refs/heads/b-topic. GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (b-topic) $ git push origin b-topic Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 20 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 350 bytes | 350.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0) remote: remote: Create a pull request for 'b-topic' on GitHub by visiting: remote: https://github.com/KimSoapSoap/instagram/pull/new/b-topic remote: To https://github.com/KimSoapSoap/instagram.git * [new branch] b-topic -> b-topic
 
GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (dev) $ git checkout hsy Switched to branch 'hsy' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (hsy) $ git add . GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (hsy) $ git commit -m "hsy" [hsy 0cb1daf] hsy 1 file changed, 1 insertion(+) create mode 100644 login.txt GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (hsy) $ git checkout dev Switched to branch 'dev' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (dev) $ git pull origin dev From https://github.com/KimSoapSoap/instagram * branch dev -> FETCH_HEAD Updating 6ca8945..acc41e8 Fast-forward login.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 login.txt GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (dev) $ git checkout hsy Switched to branch 'hsy' GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (hsy) $ git rebase dev Successfully rebased and updated refs/heads/hsy. GGG@DESKTOP-43CC23G MINGW64 /c/metacoding/gitwork/teamone (hsy) $ git push origin hsy Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 20 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 263 bytes | 263.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) remote: Resolving deltas: 100% (1/1), completed with 1 local object. remote: remote: Create a pull request for 'hsy' on GitHub by visiting: remote: https://github.com/KimSoapSoap/instagram/pull/new/hsy remote: To https://github.com/KimSoapSoap/instagram.git * [new branch] hsy -> hsy
Share article

Uni