[TIL] Git workflow

Captainjack·2021년 4월 6일
0

TIL

목록 보기
12/260

git을 이용해 다른 사람과 작업을 하게 되는데, 그 중 메인 레퍼지토리에서 각각 포크를 통해 해당 레퍼지토리를 git clone으로 가져오면 서로 작업을하기 위해
remote작업을 거치게된다.

git remote add pair(변수) Repo URL for team //상대의 깃허브와 자신의 로컬 연결
git remote -v //현재 remote 상태 

그 후 작업을 하게되고 작업을 하고 나서 git add , git commit -m, git push origin master(or other branch name)을 원래 하던대로 작업하고 푸쉬하면 올라간다.

push 후에 상대방과 remote된 상태이기 때문에 pull을 이용해서 상대방의 파일을 나의 로컬로 가져오게된다.

	git pull pair(변수) master (or other branch name)

여기서 생각해볼 주제는 충돌이다.

충돌은 자신이 수정한 파일과 상대방이 수정한 파일이 사전에 얘기가 잘못되거나 실수로 인하여 서로 같은 파일에 같은 부분을 수정하게 된다면 충돌이 발생하게된다.

그 상태로 상대방의 수정된 파일을 pull하면

이렇게 기존 코드와 상대방의 수정된 코드가 겹쳐서 에러가 나기 때문에 이중에서 현재 코드를 쓸지 상대코드를 쓸지 둘 다 사용할지(에러를 위해 수정해야줘야함) 결정해야한다.

그 뒤로 git add , git commit 까지만 하면 상대방이 pull을 했을 때 수정이 된 파일을 가져오게 된다.


git config명령어에 글로벌 유저네임과 이메일을 등록할 수 있다.

이 것은 --global 옵션을 쓰냐 안쓰냐로 나뉘어지는데
글로벌 옵션을 쓰게되면 자체적으로 디폴트 값이 들어감

$ git config --global user.name "Jack "
$ git config --global user.email abc123@naver.com

만약 프로젝트마다 다른 이름과 이메일 주소를 사용하고 싶으면 --global 옵션을 빼고 명령을 실행한다.

https://git-scm.com/book/ko/v2/%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0-Git-%EC%B5%9C%EC%B4%88-%EC%84%A4%EC%A0%95

branch

branch는 쉽게 말해 사본이다.

특히,

  1. 새로운 기능의 개발
  2. 원본의 영향을 주지않고 다양한 작업을 하고 싶을 때
    사용한다

브랜치는 현재 작업공간을 베이스로 만들어지기 때문에 (기본 maste) 작업 공간을 이동하는 방식을 알야한다.

작업 공간을 옮기는 방법은

git checkout 브랜치이름 

새로운 브랜치를 만들면서 이동하는 방식이 있다.

git checkout -b 브랜치이름 

브랜치이름으로 브랜치를 새로 만들면서 해당 브랜치위치로 이동까지함!!


기본 git의 vi편집기를 nano편집기로 바꿔줌

$ git config --global core.editor nano

profile
til' CTF WIN

0개의 댓글