상황별 git CLI 정리

oneofakindscene·2021년 8월 14일
0

github

목록 보기
5/7
post-thumbnail

Personal Access Tokens 관련사항

  • Personal Access Tokens으로 pull/push 할 수 있다는 것을 몰라서 어려움을 겪었음
    • Personal Access Tokens 발급 경로 : Settings - Developer settings - Personal access tokens
    • Personal Access Tokens가 있어야 pycharm 내에서 commit and push가 가능해짐(링크)

협업하는 repository에 branch 추가하기

  • master와 동일한 파일 목록을 가지고있는 branch를 추가하는 방법
> mkdir 폴더명
> cd 폴더명
> git init
> git pull [협업repo주소]
> git branch [새로추가할브랜치명]
> git checkout [새로추가할브랜치명]
> git remote add origin [협업repo주소]
> git push origin [새로추가할브랜치명]

협업하는 repository에서 branch에 있는 코드들 가져오기

> mkdir 폴더명
> cd 폴더명
> git init
> git remote add origin 협업repo주소
> git pull origin master
> git pull origin scene
> git checkout -t origin/브랜치명

Troubleshooting

Pulling is not possible because you have unmerged files

  • origin master와 branch 간의 merge시에 특정 파일이 both added / both modified 되면서 conflict 발생 (아래 스샷)
    • 추측: 서로 다른 branch에서 git add commit을 해서 (참조)
  • (branch 삭제를 위해) checkout master를 해도 이 오류가 해결되지 않으면 checkout 불가

(해결방안 : 아예 merge를 초기화 )

  • git merge --abort
  • git reset --merge

한 후에 다시 git pull origin master

개인 repository 생성 및 파일 추가

  • github 사이트에서 remote로 할 repository 생성

  • local repository 만들고 remote 등록 후 push 하기

> mkdir [폴더이름]
> git init
# 아래처럼 파일 추가 혹은 push할 다른 디렉토리에 있는 파일을 가져와주는 작업을 하면됨
> vim [추가할파일]

# 참고 : status로 파일이 tracking되고 있는지 확인
> git status

# git add로 추가한 파일을 staging area에 추가해준다
> git add .         # 폴더 내에 있는 파일 전체 add
> git add "파일이름"  # 명령어

# commit 메세지 작성해서 commit해주기
> git commit -m "Commit message"
> git log   # 커밋 내역 확인

> git remote -v # remote add 해주기전이라 아무것도 안나옴
> git remote add origin [repository 주소]
> git remote -v # remote add 해주었기 때문에 repository 주소가 등록된걸 확인가능
> git push orign master
  • git remote add 전/후 스샷
    • git remote add 전에는 repository 주소가 안보임
    • git remote add 후에 repository 주소가 보임
  • (참고) default branch 변경해주기
    • 2020년 6월 Go 언어가 인종차별적 요소나 주종 관계의 의미를 담고 있는 whitelist/blacklist와 master/slave라는 용어를 프로젝트에서 제거하기로 결정하면서 업계 전반에 이런 부분을 제거하는 움직임이 일어났다.
    • master/slave 같은 차별적인 용어 대신에 main이라는 용어를 사용하게 바뀜. 따라서 기존에 default branch 명이 master => main 으로 변경됨
    • repository에서 Setting 클릭!
    • Branches에서 ⇄ 클릭!
  • 참고한 사이트 : 링크

개인 repository 가져오기

> mkdir 폴더명
> git init
> git remote add origin [개인repo주소]
> git pull origin [브랜치명]
profile
oneofakindscene

0개의 댓글