CI\CD

    [Git Remote] git pull을 이용해 fetch와 merge 한 번에 하기

    git pull이란? git pull은 Remote Repository의 커밋을 가져온 다음(git fetch) 현재의 Working Directory에 Merge하는 동작을 하는 명령어이다. git pull = git fetch + get merge 예를 들어 다음과 같은 상태가 있다고 해보자. GitHub의 master 브랜치에는 fourth commit까지 있다. 하지만 Local master 브랜치는 second commit까지 밖에 없다. Remote Branch 를 트래킹하는 origin/master 브랜치도 fetch가 안되어 second commit을 바ㅏㄹ보고 있다. 이 상태에서 git fetch를 하면 remote 브랜치를 트래킹하는 origin/master가 다음과 같이 변경된다. [..

    [Git Remote] Git Remote에 저장된 브랜치 관리하기 : 브랜치 확인, 브랜치 가져오기

    GitHub에 저장된 브랜치 확인하기 GiHub에 저장된 브랜치는 git branch -r 명령어를 통해 확인 가능하다. 예를 들어 GitHub url에 대한 alias를 origin-ssh로 지정한 후, 브랜치를 main, master 두개를 만들었다면 다음과 같이 출력된다. $ git branch -r origin-ssh/main origin-ssh/master GitHub branch 가져오기 GitHub에 저장된 브랜치는 git switch [branch name]을 통해 가져올 수 있다. git switch [branch name] 을 하면 git은 먼저 로컬에 브랜치가 있으면 해당 브랜치로 스위치하고, 없으면 remote(Github)에서 해당 브랜치를 가져온다. $ git branch -d ..

    [Git Remote] git fetch사용해 remote repository(GitHub, GitLab, etc) 트래킹하기

    git fetch란? Git은 Remote Branch를 계속 Tracking 하지 않는다. 사용자가 요청할 때만 트래킹을 한다. 사용자가 이러한 트래킹을 요청하는 명령어가 바로 git fetch 이다. 어떤 때 git fetch를 써야 할까? master branch에 first commit과 second commit이 있는 상태에서 해당 브랜치를 git clone 했다고 해보자. 그러면 [그림1]과 같이 Remote Repository인 GitHub의 master 브랜치는 second commit을 포인팅 할 것이고, Local의 master 브랜치 또한 second commit을 포인팅 할 것이다. 그리고 해당 브랜치가 트래킹하는 origin/master은 마찬가지로 second commit을 트래..

    [GitHub] GitHub default branch 변경하기 : GitHub의 기본 브랜치는 왜 main인가?

    GitHub의 기본 브랜치 GitHub에서 Repository를 만들어본 사람이라면 GitHub의 주 브랜치가 main인 것을 확인했을 것이다. 왜 Git의 기본 브랜치는 master인데 GitHub의 기본 브랜치는 main일까? 그것은 GitHub는 2020년 10월을 기준으로 default branch를 main으로 변경하였기 때문이다. 그에 대한 공지가 다음과 같이 있다. 이번 글에서 다룰 내용 이번 글에서는 Git으로 Git Repository를 생성한다음 GitHub의 기본 브랜치를 그대로 쓰는 방법과 GitHub의 main 브랜치를 지우고 master 브랜치를 기본 브랜치로 사용하는 방법에 대해 다룰 것이다. 회사의 브랜치 전략에 따라 양쪽 모두 필요가 있다. Git의 브랜치 명 변경을 통해 ..

    [Git Remote] git remote, push를 이용해 Remote 저장소(GitHub, GitLab, etc)를 다루는 방법

    git의 remote란 무엇인가? git에서의 remote 는 외부의 깃헙 저장소가 있는 url에 대한 alias(별칭)을 만들어 관리하기 위한 명령어이다. 이 명령어는 단순히 GitHub만을 위한 것이 아니며, GitLab, Garrit 과 같은 외부 저장소를 다루기 위해서 사용한다. 이 글에서는 다음 순서로 GitHub Repository를 조작하는 방법을 다룬다. Github 저장소를 로컬 git에서 별칭으로 만들어 관리하기 git remote 사용해 remote 저장소 목록 가져오기 git push 사용해 remote 저장소에 로컬 커밋 올리기 Github 저장소를 로컬 git에서 별칭으로 만들어 관리하기 git remote add [alias] [url] 을 이용해 특정 url을 alias로 다..