1. Git 환경설정 및 확인
2. Git 기본 명령어
3. Git 팀 프로젝트

Git 환경설정 및 확인
1. 유저 이름 설정
git config —-global user.name “유저명”
2. 유저 이메일 설정
git config —-global user.email “유저 이메일”

Git 기본 명령어
1. 초기화 → 로컬 git 저장소를 설정하는 명령어
git init
📝 Main Branch
|
||
최근 master 대신 main을 사용하는 추세
→ 기본 브랜치 설정이 master인 경우 main으로 변경
→ git branch -M main 명령어로 브랜치를 main으로 변경
|
2. .gitnore 파일에 있는 파일명들은 제외하고 stage에 올리는 명령어
git add .
3. 파일 상태 확인하는 명령어
git status
4. 파일 업로드 → push하면 깃허브 저장소에 저장하는 명령어
-m 옵션을 이용하여 첫 번째 이력에 대한 메시지 작성
git commit -m “커밋 메시지”
📝 Commit Message
|
||
working directory(작업중인 로컬 디렉토리)에서 git add를 하게 되면 변경된 파일의 목록이 index(stage)에 추가
→ 이 파일 목록들을 HEAD(확정본)에 반영할 때 git commit 사용
→ 커밋 메시지는 HEAD에 어떤 변화가 반영 되었는지 설명하는 글
|

5. 저장소 목록을 가져오는 명령어
a. Githib 저장소를 로컬 git에서 별칭으로 만들어 관리하기
git remote add [alias] [url]
b. remote 저장소 목록 가져오기
a. alias와 연결된 url 목록을 가져오기
git remote -v
6. 로컬 브랜치를 원격 저장소로 푸시할 때 사용하는 명령어
a. 현재 작업 브랜치에서 [alias]의 [branch name]으로 푸시
git push [alias] [branch name]
b. 로컬 브랜치를 다른 이름의 원격 브랜치로 푸시
git push [alias] [local branch name]:[remote branch name]
c. 모든 로컬 브랜치를 원격 저장소로 푸시
git push --all
d. 강제로 푸시하기
git push -—force [alias] [branch name]

→ branch명 main으로 변경
→ repository alias origin으로 설정
→ origin에 main 브랜치로 변경사항 푸시 (UMC/UMCTest/test.txt 업로드)

→ origin에 main 브랜치로 변경사항 푸시 (UMC/UMCTest/test2.txt 업로드)

→ main 브랜치에 test.txt / test2.txt 파일 추가된 것을 확인할 수 있다.
Git 환경설정 및 확인
📝 Sequence : A, B, C 3명이 팀을 이뤄 프로젝트를 진행
|
||
1. 팀장인 A는 환경 설정을 마친 프로젝트 파일을 Github에 업로드한다.
2. B, C는 프로젝트 파일을 자신의 PC로 가져온다.
3. A, B, C는 각각 브랜치를 생성하여 작업을 진행한다.
4. B가 기능 구현을 마치고 이 파일을 master 브랜치에 병합해서 Github에 업로드한다. → master 브랜치에 push
5. A, C는 작업 진행 중에 B가 올린 최신 버전을 갖고 와 이어서 작업을 진행한다.
→ 최신 버전 받아오기, 충돌 해결
# master 브랜치는 A, B, C 코드를 병합해서 관리하는 메인 브랜치
|
1. A는 환경 설정을 마친 프로젝트 파일을 Github에 업로드한다.

🗨️ A는 Github에 repository를 생성 + Collaborators에서 Add people을 선택
→ B, C를 추가
→ Collaborator로 추가해야 B, C가 pull, push 할 수 있는 권한이 부여
|
🗨️ A는 각종 기본 라이브러리를 추가하여 초기 프로젝트를 셋팅
ex) Spring - pom.xml / node - npm / RoR - gem 설치
|
환경 설정을 마친 후 B, C가 다운받을 수 있도록 프로젝트 업로드
git init
git add .
git commit -m “first commit”
git branch -M main git remote add origin [repository url]
git push origin main
|
2. B, C는 프로젝트 파일을 자신의 PC로 가져온다.
B, C는 A가 작업한 프로젝트 파일을 자신의 PC로 clone하여 가져온다.
git clone [repository url]
→ git clone을 하면 자동으로 remote repository가 등록된다
3. A, B, C는 각각 브랜치를 생성하여 작업을 진행한다.
A, B, C는 각각 자신의 PC에서 branchA, branchB, branchC를 생성하여 독립된 작업 공간을 마련한다.
1. branch 생성
git branch “branch명”
git branch branchA
git branch branchB
git branch branchC
|
🗨️ A, B, C는 Github를 공유하며 독립적인 로컬 respository를 가지고 있다.
A, B, C는 각자 맡은 기능을 작성하여 Github에 자신의 작업물을 push한다.
병합이 필요할 때 master 브랜치에 merge한다.
|
4. B가 기능 구현을 마치고 파일을 master 브랜치에 병합해서 Github에 업로드한다.
master = A, B, C 코드를 병합해서 관리하는 메인 브랜치
B가 담당한 기능의 구현을 마무리하고 master 브랜치에 자신의 파일을 업로드한다.
1. 특정 branch로 이동하는 명령어
git checkout “branch명”
(ex. git checkout branchB)
2. 브랜치 병합하는 명령어
a. HEAD가 가리키는 브랜치에 병합
b. HEAD는 현재 사용중인 브랜치
git merge “파일을 추가할 branch”
현재 사용중인 branch가 test일 때 test의 내용을 master에도 추가하고 싶을 때
# git checkout master
# git merge test
🗨️ # 현재 브랜치는 branchB
git add .
git commit -m “~ 기능 구현 완료”
git checkout master // 현재 브랜치 master로 변경
git merge branchB
git push -u origin master
|
B는 master로 push 하기 전, 자신의 local repository에 있는 master 브랜치에 branchB를 merge한다.
→ 이후 local master 브랜치에서 깃헙 master 브랜치로 push한다.
5. A, C는 작업 진행 중에 B가 올린 최신 버전을 갖고 와 이어서 작업을 진행한다.
A, C는 B가 push한 최신 작업본을 사용하기 위해 master 브랜치를 pull 한다.
1. branch 변경
2. respository 내용 가져와서 현재 branch와 병합(merge)
→ 현재 작업 내용 유지하면서 최신 코드로 업데이트 가능
→ merge가 포함되어 있으므로 pull 하기 전에 commit을 하지 않으면 덮어쓰기 에러 발생 O
→ pull 하기 전에 꼭 commit 하기 !!!
git pull [원격 저장소 이름] [branch 이름]
3. 자신의 작업본에 반영하기
a. 자신의 브랜치로 이동
b. master branch merge
🗨️ # A가 pull 받을 때
git checkout main
git pull origin main
git checkout branchA
git merge main
|
'Github' 카테고리의 다른 글
[Github] .gitignore에 추가했지만 적용되지 않은 경우 (0) | 2023.05.11 |
---|
1. Git 환경설정 및 확인
2. Git 기본 명령어
3. Git 팀 프로젝트

Git 환경설정 및 확인
1. 유저 이름 설정
git config —-global user.name “유저명”
2. 유저 이메일 설정
git config —-global user.email “유저 이메일”

Git 기본 명령어
1. 초기화 → 로컬 git 저장소를 설정하는 명령어
git init
📝 Main Branch
|
||
최근 master 대신 main을 사용하는 추세
→ 기본 브랜치 설정이 master인 경우 main으로 변경
→ git branch -M main 명령어로 브랜치를 main으로 변경
|
2. .gitnore 파일에 있는 파일명들은 제외하고 stage에 올리는 명령어
git add .
3. 파일 상태 확인하는 명령어
git status
4. 파일 업로드 → push하면 깃허브 저장소에 저장하는 명령어
-m 옵션을 이용하여 첫 번째 이력에 대한 메시지 작성
git commit -m “커밋 메시지”
📝 Commit Message
|
||
working directory(작업중인 로컬 디렉토리)에서 git add를 하게 되면 변경된 파일의 목록이 index(stage)에 추가
→ 이 파일 목록들을 HEAD(확정본)에 반영할 때 git commit 사용
→ 커밋 메시지는 HEAD에 어떤 변화가 반영 되었는지 설명하는 글
|

5. 저장소 목록을 가져오는 명령어
a. Githib 저장소를 로컬 git에서 별칭으로 만들어 관리하기
git remote add [alias] [url]
b. remote 저장소 목록 가져오기
a. alias와 연결된 url 목록을 가져오기
git remote -v
6. 로컬 브랜치를 원격 저장소로 푸시할 때 사용하는 명령어
a. 현재 작업 브랜치에서 [alias]의 [branch name]으로 푸시
git push [alias] [branch name]
b. 로컬 브랜치를 다른 이름의 원격 브랜치로 푸시
git push [alias] [local branch name]:[remote branch name]
c. 모든 로컬 브랜치를 원격 저장소로 푸시
git push --all
d. 강제로 푸시하기
git push -—force [alias] [branch name]

→ branch명 main으로 변경
→ repository alias origin으로 설정
→ origin에 main 브랜치로 변경사항 푸시 (UMC/UMCTest/test.txt 업로드)

→ origin에 main 브랜치로 변경사항 푸시 (UMC/UMCTest/test2.txt 업로드)

→ main 브랜치에 test.txt / test2.txt 파일 추가된 것을 확인할 수 있다.
Git 환경설정 및 확인
📝 Sequence : A, B, C 3명이 팀을 이뤄 프로젝트를 진행
|
||
1. 팀장인 A는 환경 설정을 마친 프로젝트 파일을 Github에 업로드한다.
2. B, C는 프로젝트 파일을 자신의 PC로 가져온다.
3. A, B, C는 각각 브랜치를 생성하여 작업을 진행한다.
4. B가 기능 구현을 마치고 이 파일을 master 브랜치에 병합해서 Github에 업로드한다. → master 브랜치에 push
5. A, C는 작업 진행 중에 B가 올린 최신 버전을 갖고 와 이어서 작업을 진행한다.
→ 최신 버전 받아오기, 충돌 해결
# master 브랜치는 A, B, C 코드를 병합해서 관리하는 메인 브랜치
|
1. A는 환경 설정을 마친 프로젝트 파일을 Github에 업로드한다.

🗨️ A는 Github에 repository를 생성 + Collaborators에서 Add people을 선택
→ B, C를 추가
→ Collaborator로 추가해야 B, C가 pull, push 할 수 있는 권한이 부여
|
🗨️ A는 각종 기본 라이브러리를 추가하여 초기 프로젝트를 셋팅
ex) Spring - pom.xml / node - npm / RoR - gem 설치
|
환경 설정을 마친 후 B, C가 다운받을 수 있도록 프로젝트 업로드
git init
git add .
git commit -m “first commit”
git branch -M main git remote add origin [repository url]
git push origin main
|
2. B, C는 프로젝트 파일을 자신의 PC로 가져온다.
B, C는 A가 작업한 프로젝트 파일을 자신의 PC로 clone하여 가져온다.
git clone [repository url]
→ git clone을 하면 자동으로 remote repository가 등록된다
3. A, B, C는 각각 브랜치를 생성하여 작업을 진행한다.
A, B, C는 각각 자신의 PC에서 branchA, branchB, branchC를 생성하여 독립된 작업 공간을 마련한다.
1. branch 생성
git branch “branch명”
git branch branchA
git branch branchB
git branch branchC
|
🗨️ A, B, C는 Github를 공유하며 독립적인 로컬 respository를 가지고 있다.
A, B, C는 각자 맡은 기능을 작성하여 Github에 자신의 작업물을 push한다.
병합이 필요할 때 master 브랜치에 merge한다.
|
4. B가 기능 구현을 마치고 파일을 master 브랜치에 병합해서 Github에 업로드한다.
master = A, B, C 코드를 병합해서 관리하는 메인 브랜치
B가 담당한 기능의 구현을 마무리하고 master 브랜치에 자신의 파일을 업로드한다.
1. 특정 branch로 이동하는 명령어
git checkout “branch명”
(ex. git checkout branchB)
2. 브랜치 병합하는 명령어
a. HEAD가 가리키는 브랜치에 병합
b. HEAD는 현재 사용중인 브랜치
git merge “파일을 추가할 branch”
현재 사용중인 branch가 test일 때 test의 내용을 master에도 추가하고 싶을 때
# git checkout master
# git merge test
🗨️ # 현재 브랜치는 branchB
git add .
git commit -m “~ 기능 구현 완료”
git checkout master // 현재 브랜치 master로 변경
git merge branchB
git push -u origin master
|
B는 master로 push 하기 전, 자신의 local repository에 있는 master 브랜치에 branchB를 merge한다.
→ 이후 local master 브랜치에서 깃헙 master 브랜치로 push한다.
5. A, C는 작업 진행 중에 B가 올린 최신 버전을 갖고 와 이어서 작업을 진행한다.
A, C는 B가 push한 최신 작업본을 사용하기 위해 master 브랜치를 pull 한다.
1. branch 변경
2. respository 내용 가져와서 현재 branch와 병합(merge)
→ 현재 작업 내용 유지하면서 최신 코드로 업데이트 가능
→ merge가 포함되어 있으므로 pull 하기 전에 commit을 하지 않으면 덮어쓰기 에러 발생 O
→ pull 하기 전에 꼭 commit 하기 !!!
git pull [원격 저장소 이름] [branch 이름]
3. 자신의 작업본에 반영하기
a. 자신의 브랜치로 이동
b. master branch merge
🗨️ # A가 pull 받을 때
git checkout main
git pull origin main
git checkout branchA
git merge main
|
'Github' 카테고리의 다른 글
[Github] .gitignore에 추가했지만 적용되지 않은 경우 (0) | 2023.05.11 |
---|