1. 💡 Git이란?
- 파일의 변경사항 추적
- 백업
- 공동작업물 취합
- 로컬환경에서의 버전관리 / Github = 클라우드 방식의 버전관리
1.1. Github SSH 등록





- curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
- echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
- apt update
- apt install gh dirmngr




2. 💡 Github Solo Workflow
- 다른 repo에있는걸 fork를 통해 내 원격repo에 가지고옴
- fork를 통해 가져온 파일수정을 위해 clone을 해줌 (git clone [repo address])
- clone한 파일을 수정후 add로 파일을 staged 상태로 변경 (git add)
- staging된 파일을 commit하면 내 원격repo에 push해서 commit 기록을 remote에 남겨줄 수 있음(git status / commit -m)
- push 후 이 파일을 가져온 repo에 pull request를 보내면 내가 수정한 코드 업로드 (git push ~)
- * 변경사항 폐기 명령 = git status - git restore / * commit 기록 = git log
- * git branch 변경 = git checkout main



2.1. Solo Workflow
- fork
-> clone
-> git remote -v
-> git log
-> 파일수정
-> git status (빨간글자로 modified)
-> git restore (복원하려면) OR git add
-> git add (add 복원하려면 git restore --staged)
-> git commit -m -> git status/log
-> commit 취소(git reset HEAD^)
-> git commit -am "aa" ( add+commit)
-> git push
3. 💡 Github Multi Workflow
Multi Workflow
local에 임의의 이름으로 git repository를 만들고 상대방의 repo와 연결
git remote add [상대방repo명] [상대방repo주소]
git pull [상대방repo명] [branch명] - 받아오는 내용은 자동병합(merge) 됨
* 충돌 적용 내용 선택후 다시 add로 staging area로 올려야됨

3.1. Multi Workflow
[Pair 1]
git remote add pair [URL]
수정
git commit -am "first" (pair1 local repo)
git log
git push origin main (pair1 remote repo)
[Pair2]
git pull pair main (pair1이 수정한 파일 불러오기)
수정
git commit -am "second" (pair2 local repo)
git push origin main (pair2 remote repo)
[Pair1]
git pull pair main
수정
git commit -am "third"
git push origin main
~ 반복
3.2. 같은 라인을 두명이 각각 다른코드로 수정했을때
[Pair1]
5번쨰라인을 abc로 수정후 commit
[pair2]
5번째라인을 def로 수정후 commit
이 상황에서 pair2가 pair2의 local로 push 했을경우 파일 확인시
pair1: abc
=======
pair2: def
라는 안내문이생기고
두 코드중 적용할 문구를 남기고 지운후 git commit -am "merge completed" 로
커밋하면 merge completed 라는 문구가 뜨면서 병합
3.3. Github Repository 생성 후 명령어
- git init
- git add README.md
- git commit -m " "
- git branch -M main
- git remote add origin URL.git
- git push -u origin main
'Management & Tool > Git' 카테고리의 다른 글
Git Flow (0) | 2022.12.15 |
---|---|
Git Project 칸반보드 (0) | 2022.12.15 |
Git Branch (0) | 2022.12.15 |
[CI/CD with Github Actions] (0) | 2022.12.08 |