2828### 새 저장소 만들고 시작하기
2929
3030``` bash
31+ mkdir < 생성하고 싶은 디렉토리 이름>
32+ cd < 생성한 디렉토리 이름>
3133git init
34+
35+ # 예)
36+ ~ $ mkdir test
37+ ~ $ cd test
38+ ~ /test $ git init
3239```
3340
3441### 원격 저장소를 가져와서 시작하기
3542
3643``` bash
3744git clone < 원격 저장소 주소>
45+
46+ # 예) git clone https://github.com/wholemann/daily-coding-dojo.git
3847```
3948
4049### Sourcetree에 저장소 폴더 추가하기
@@ -57,55 +66,76 @@ git remote
5766git remote -v
5867```
5968
60- ![ images/0.png] ( images/0.png )
61-
62- - upstream - 공용 repository(보통 팀 repo)
63- - origin - 공용 repository 를 내 계정에 fork한 repository
64-
6569### origin 원격 저장소 추가
6670
6771주의) clone으로 원격 저장소를 가져오면 origin 원격 저장소가 이미 추가된 상태입니다.
6872
6973아래는 git init 후 수동으로 원격 저장소를 추가할 때 사용하는 방법입니다.
7074
7175``` bash
72- git remote add origin < 내 원격 저장소 주소>
76+ git remote add origin < 내 계정의 repository 주소>
7377
7478git fetch origin
7579```
7680
7781### upstream 원격 저장소 추가
7882
7983``` bash
80- git remote add upstream < 공용 원격 저장소 주소>
84+ git remote add upstream < PR을 보낼 원격 repository 주소>
8185
8286git fetch upstream
8387```
8488
85- ### git fetch
89+ ## Pull Request를 이용한 협업 시작하기
8690
87- [ fetch(가져오기)【원격 저장소】 | 누구나 쉽게 이해할 수 있는 Git 입문 ~ 버전 관리를 완벽하게 이용해보자 ~ | Backlog ] ( https://backlog.com/git-tutorial/kr/stepup/stepup3_2.html )
91+ ![ triangular-workflows ] ( images/triangular-workflows.png )
8892
89- ## 협업 시작하기
93+ - upstream - PR을 보내고 싶은 repository(회사에선 우리팀 repository)
94+ - origin - upstream에서 내 계정으로 fork한 repository
9095
9196### Step #0
9297
98+ 먼저 PR(Pull Request)를 보내고 싶은 repository를 fork 합니다.
99+ fork를 하면 본인 계정의 GitHub에 동일한 repository가 복사됩니다.
100+
101+ ![ github-fork] ( images/github-fork.png )
102+
103+ 내 계정에 동일한 repository가 복제된 걸 확인할 수 있습니다. 아래 이미지처럼 초록색 버튼을 클릭하면
104+ 나오는 창에서 주소를 복사합니다.
105+
106+ ![ forked-repository] ( images/forked-repository.png )
107+
108+ 복사한 주소를 이용하면 내 로컬 머신에서 clone 할 수 있습니다.
109+
110+ 주의) clone으로 원격 저장소를 가져오면 origin 원격 저장소가 이미 추가된 상태입니다.
111+
93112``` bash
94- git clone < fork된 내 GitHub repository 주소>
113+ git clone < 내 계정에 fork된 repository 주소>
95114
96- git remote add upstream < 공용 원격 저장소 주소>
115+ git remote add upstream < PR을 보낼 원격 repository 주소>
97116
98- git remote -v
117+ # 예)
118+ git clone https://github.com/wholemann/git-training.git
119+
120+ git remote add upstream https://github.com/CodeSoom/git-training.git
99121```
100122
101- upstream과 origin이 아래와 같은지 확인합니다.
123+ PR을 보내는 과정에서 원격 저장소는 upstream. origin 2개가 필요합니다.
124+ 로컬 머신(내 컴퓨터) 관점에서 보면 내 계정의 repository도 원격이고,
125+ upstream의 repository도 원격입니다.
102126
103- - upstream - 공용 repository(보통 팀 repo )
104- - origin - 공용 repository 를 내 계정에 fork한 repository
127+ - upstream - PR을 보내고 싶은 repository(회사에선 우리팀 repository )
128+ - origin - upstream에서 내 계정으로 fork한 repository
105129
106- git status
130+ ` git remote -v ` 를 통해 upstream과 origin이 아래와 같은지 확인합니다.
107131
108- (git status는 수시로 해주는 게 좋습니다. 내가 의도한 작업이 수행 됐는지 수시로 확인합니다.)
132+ ``` bash
133+ ~ /codesoom/git-training $ git remote -v
134+ origin git@github.com:wholemann/git-training.git (fetch)
135+ origin git@github.com:wholemann/git-training.git (push)
136+ upstream git@github.com:CodeSoom/git-training.git (fetch)
137+ upstream git@github.com:CodeSoom/git-training.git (push)
138+ ```
109139
110140### Step #1 - 작업 브랜치 만들기
111141
@@ -119,8 +149,16 @@ upstream/main는 붙여서 쓰고, 가운데 슬래시(/)가 들어갑니다.
119149
120150### Step #2 - upstream 원격 저장소의 최신 상태를 반영하기
121151
152+ #### git fetch
153+
154+ [ fetch(가져오기)] ( https://backlog.com/git-tutorial/kr/stepup/stepup3_2.html )
155+
156+ #### git rebase
157+
158+ [ rebase로 병합하기] ( https://backlog.com/git-tutorial/kr/stepup/stepup2_8.html )
159+
122160``` bash
123- git fetch upstream main
161+ git fetch upstream
124162
125163git rebase upstream/main
126164```
@@ -238,7 +276,7 @@ git switch main
238276#### 최신 코드 반영
239277
240278``` bash
241- git fetch upstream main
279+ git fetch upstream
242280
243281git rebase upstream/main
244282```
@@ -287,13 +325,12 @@ git branch -D <브랜치 이름>
287325git push origin :< 브랜치 이름>
288326```
289327
290- ## PR 트레이닝
328+ ## PR 트레이닝 미션
291329
292330[ https://github.com/CodeSoom/git-training ] ( https://github.com/CodeSoom/git-training )
293331
294- 위 repo를 공용 repository로 하여
295- 각자 이니셜로 만든 문서 파일(e.g. ` csh.md ` )을 추가하여
296-
332+ [ Pull Request를 이용한 협업 시작하기] ( #Pull-Request를-이용한-협업-시작하기 ) 를 참고하여,
333+ 각자 이니셜로 만든 문서 파일(예) ` csh.md ` )을 추가하여 위의 repository에
297334Pull Request를 날려봅니다.
298335
299336## 참고 자료
0 commit comments