깃허브 관련 책으로 공부하다가 현재 깃허브에 main 브랜치가 기본값으로 되어있는 것을 보고

master브랜치가 기본이였다가 현재 main으로 바뀐것을 알 수 있었다. (이유는 master가 좋지 않은 뜻으로도 보일 수 있기 때문이라는 이유에서이다.)

그래서 main을 기본값으로 두고 푸쉬를 하려고 했지만

$ git push origin main  # 오류가 난다.

! [rejected] main -> main (non-fast-forward)

error : failed to push some refs to '깃허브 주소'의 오류 들이 나타났다.

구글링을 해보니 .gitnore 파일 또는 READ.md 파일로 인한 오류라고 한다.

해결법

$ git push origin +master    # +를 붙이니 해결이 됐다.

cf) 먼저 $ git branch -M main 으로 브랜치를 main으로 바꿔야 한다.

branch 확인은  $ git branch -a    이다

 

2개의 디렉터리를 만들어 깃허브 협업을 연습하겠습니다.(git_a, git_b)

다른 저장소에서 똑같이 가져오는 것을 '클론'또는 '클로닝'이라고 합니다.

먼저 원격 저장소에 있는걸 복사하기 위해 주소를 복사합니다.

$ git clone 복사한 주소 새로운디렉터리 디렉터리 이름  ex) https://github.com/parkjunyoung27/test-1.git  

개인 컴퓨터에서 작업하고 올리기

$ git commit -am "메시지내용"

$ git push

개인컴퓨터로 내려받아 작업하기

$ git pull

합치기 전에 정보 가져오기

$ git fetch

$ git status  # 커밋이 뒤쳐져 있다고 나온다.

$ git checkout FETCH_HEAD # 최신 커밋을 살펴보고 싶다면 FETCH_HEAD브랜치로 체크아웃해서 확인해야한다.

파일 합치기

git pull 명령을 사용해서 소스를 내려받거나

git merge를 사용해서 병합 예) git merge FETCH_HEAD

푸시(push) : 원격 저장소로 파일을 올리는 것

풀(pull) : 원격 저장소에서 파일을 내려받는 것

원격 저장소에 파일 올리기 - git push

$ git push -u orgin master        # 지역 저장소의 브랜치를 orgin, 즉 원격 저장소의 master 브랜치로 푸시하라는 명령

* -u는 원격 저장소의 master 브랜치에 연결하기 위한 것으로 처음 한번만 사용

* 로그인 시 비밀번호를 깃허브에 토큰으로 해야한다(참고 사이트)

https://curryyou.tistory.com/344      # 감사합니다.

이후에는 파일 수정시에 올릴때마다 git push를 적어주면 원격저장소에 올릴 수 있다.

원격 저장소에서 파일 내려받기 - git pull

$ git pull orgin master (origin : 원격 저장소, master는 지역저장소의 기본 브랜치)

 

깃허브 저장소에 지역 저장소에 한 작업을 원격으로 올리기 위해서 작업해 보겠습니다.

깃허브의 저장소 주소 복사하기

$ git remote add origin 복사한 주소 붙여넣기

 

깃허브와 연결됐는지 확인하기

$ git remote -v

 

 

'IT 스터디 > 깃&깃허브' 카테고리의 다른 글

깃허브에서 팀 협업하기  (0) 2021.08.18
원격 저장소에 올리거나 내려받기  (0) 2021.08.18
원격 저장소 - 깃허브  (0) 2021.08.18
깃 - git stash 사용법  (0) 2021.08.16
브랜치란?  (0) 2021.08.16

원격 저장소란?

지역저장소(내컴퓨터)가 아닌 서버에 만든 저장소를 말하며, 다른사람들과 협업하는데 중요한 역할을 한다.(ex. 깃허브)

깃허브 용도

  • 원격저장소에서 깃을 사용할 수 있다.
  • 지역저장소를 백업할 수 있다.
  • 협업 프로젝트에 사용할 수 있다.
  • 자신의 개발 이력을 남길 수 있따.
  • 다른 사람의 소스를 살펴볼 수 있고, 오픈 소스에 참여할 수 있다.

깃허브 저장소에 접근하는 방법

https://github.com/아이디/저장소명 

 

'IT 스터디 > 깃&깃허브' 카테고리의 다른 글

원격 저장소에 올리거나 내려받기  (0) 2021.08.18
지역 저장소와 원격 저장소 연결하기  (0) 2021.08.18
깃 - git stash 사용법  (0) 2021.08.16
브랜치란?  (0) 2021.08.16
깃 파일 커밋하기(2)  (0) 2021.08.16

git stash - 수정 중인 파일 감추기 및 되돌리기

먼저 git stash를 사용하기 위해서는 파일이 한 번 commit된 상태여야 합니다. 이후에 파일을 수정했을 때 숨기고 싶다면

$ git stash  #어딘가에 수정내용을 보관한다.

숨긴 파일을 꺼내고 싶을 때

$ git stash pop # 가장 최근에 숨긴 목록을 되돌린다. (선입후출 방식)

꺼내면서 숨겨진 내용도 그대로 유지하고 싶을 때

$ git stash apply

stash 목록에서 가장 최근 항목 삭제하고 싶을 때

$ git stash pop

'IT 스터디 > 깃&깃허브' 카테고리의 다른 글

지역 저장소와 원격 저장소 연결하기  (0) 2021.08.18
원격 저장소 - 깃허브  (0) 2021.08.18
브랜치란?  (0) 2021.08.16
깃 파일 커밋하기(2)  (0) 2021.08.16
깃 버전관리 간단한 원리  (0) 2021.08.16

브랜치란? 버전관리 시스템에서는 나무가 가지에서 새 줄기를 뻗듯이 여러 갈래로 퍼지는 데이터 흐름을 뜻함

기본적으로 저장소 생성시 master라는 브랜치가 만들어짐 (커밋 할때마다 master 브랜치는 최신 커밋을 가리킴)

master브랜치에서 새로운 브랜치를 만드는 것을 브랜치라고 한다 -> 새 브랜치에서 원하는 작업이 끝나면 master브랜치에 합칠 수 있다. 이를 병합(merge)이라고 한다.

쉽게 이해하자면 master는 기둥이고 브랜치는 뻗어나가는 가지라고 생각하면 된다.

브랜치 만들기

git branch "브랜치이름"

git branch -> 브랜치 목록들 나열 + * 있는 곳이 현재 브랜치 위치

브랜치 이동

git checkout "옮기고 싶은 브랜치 이름"

브랜치의 커밋 상태 보기

git log --oneline --branches

git log --oneline --branches --graph

각 브랜치 사이의 차이점 보기

git log "브랜치이름" .."비교대상브랜치"

브랜치 병합

먼저 master브랜치로 체크아웃해주세요. git checkout master

git merge 병합할 브랜치 이름

* 편집기 창을 열리지 않게 하려면

git merge 브랜치이름 --no-edit

차이 나타나지 않지만 커밋메시지를 추가하거나 수정하고 싶다면

git merge 브랜치이름 --edit

* 브랜치 수정한 부분이 같은 위치에 겹칠 경우 파일을 열고 겹치는 부분을 수정하여 다시 커밋하면 된다.

병합 후 브랜치 삭제하기 - 삭제 후 다시 같은 이름의 브랜치를 만들면 내용 다시 볼 수 있음

먼저 master브랜치로 체크아웃

gir branch -d "삭제할 브랜치 이름"

 

 

 

'IT 스터디 > 깃&깃허브' 카테고리의 다른 글

원격 저장소 - 깃허브  (0) 2021.08.18
깃 - git stash 사용법  (0) 2021.08.16
깃 파일 커밋하기(2)  (0) 2021.08.16
깃 버전관리 간단한 원리  (0) 2021.08.16
vim파일 사용법  (0) 2021.08.16

스테이징 되돌리기 (수정한 파일 다시 되돌리기)

 git reset HEAD 파일이름

최신 커밋 되돌리기

git reset HEAD^

  • --soft HEAD^ - 최근 커밋을 하기전 상태로 작업 트리를 되돌림
  • --mixed HEAD^ - 최근 커밋과 스테이징을 하기 전 상태로 작업 트리를 되돌림 -- 보통 기본 옵션
  • --hard HEAD^ - 최근 커밋과 스테이징, 파일 수정을 하기 전 상태로 작업 트리를 되돌림, 되돌린 내용은 복구할 수 없음

특정 커밋으로 되돌리기

git reset --hard (되돌리고 싶은 커밋 주소)

커밋 삭제하지 않고 되돌리기

git revert (되돌리고 싶은 커밋 주소)

 

'IT 스터디 > 깃&깃허브' 카테고리의 다른 글

깃 - git stash 사용법  (0) 2021.08.16
브랜치란?  (0) 2021.08.16
깃 버전관리 간단한 원리  (0) 2021.08.16
vim파일 사용법  (0) 2021.08.16
리눅스 명령어 연습하기  (0) 2021.08.14

+ Recent posts