우주먼지
article thumbnail
Published 2022. 8. 26. 09:29
Git Management & Tool/Git

💡 Git이란?

- 파일의 변경사항 추적
- 백업
- 공동작업물 취합
- 로컬환경에서의 버전관리 / Github = 클라우드 방식의 버전관리

 

Github SSH 등록

ssh-keygen

 

copy public key value

 

github-profile-settings - SSH - new SSH - add SSH

 

my repository - code - ssh - copy link

 

git clone으로 가져오기 / ll 하면 01 repo가 불러오기 되었다

gh auth login

 

https://github.com/login/device / Ubuntu CLI에서 나온 일회용 코드 입력

 

github auth login 완료

 

auth login 상태 확인 / gh auth logout 으로 로그아웃 가능


💡 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

임의의 디렉터리를 만들어서 경로이동후 git init을 입력하여 git repository로 만들어준다

 

위에서만든 local repo를 내 github repo와 sync 시켜줌

 

git remote -v 로 잘 연결되었는지 확인

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

💡 Github Multi Workflow

 

Multi Workflow

local에 임의의 이름으로 git repository를 만들고 상대방의 repo와 연결
git remote add [상대방repo명] [상대방repo주소]
git pull [상대방repo명] [branch명]   -   받아오는 내용은 자동병합(merge) 됨
* 충돌 적용 내용 선택후 다시 add로 staging area로 올려야됨

 

 

 

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
~ 반복

 

같은 라인을 두명이 각각 다른코드로 수정했을때

[Pair1]

5번쨰라인을 abc로 수정후 commit
[pair2]

5번째라인을 def로 수정후 commit

이 상황에서 pair2가 pair2의 local로 push 했을경우 파일 확인시


pair1: abc
=======
pair2: def


라는 안내문이생기고
두 코드중 적용할 문구를 남기고 지운후 git commit -am "merge completed" 로 

커밋하면 merge completed 라는 문구가 뜨면서 병합

 

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
profile

우주먼지

@o귤o

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그