본문 바로가기

뒷북 정리 (국비 교육)80

Github(원격저장소 remote repository) : remote, push, fetch, pull, pr github : 원격 저장소(remote repository) : remote, push, fetch, pull, pull request 이제는 가장 처음의 Git 의 전반적인 구성에서 그렸던 그림이 변화될 시점이다. 합류하게 될 프로젝트는 어떤 remote repository에 기록되어 있을텐데, 작업할 컴퓨터에는 프로젝트에 대한 어떤 정보도 없을 것이다. 물론 개발한 내용을 올리고 merge도 해야하는 입장이기 때문에 함께 프로젝트에 참여할 수 있어야한다. 이럴 때 remote repository를 작업 컴퓨터에 clone (복사) 한다. 변경된 내용이 있다면 repository를 또다시 clone하는 것이 아니라 local로 pull 해올 수 있고, 반대로 작업한 내용을 remote reposito.. 2022. 3. 30.
Git command : stash stash : 숨겨두기 master branch에 새롭게 merge할 기능을 만들기 위해서 작업 branch를 만들어서 작업하는 중이었다고 가정해보자. 그런데 작업 중에 갑자기 다른 branch로 이동해서 해결해야할 일이 생겼다면 어떤 문제가 발생할까? 기존에 작업하던 branch를 'stash_test1', 이동하려는 branch를 'stash_test2' 라고 명명해서 작업해보았다. 파일 g와 h 두 개를 만들고 g를 staging 하고 다른 branch로 이동하면 이 두 가지 내용이 따라오고 있는 것을 status 명령어를 통해서 확인하였다. 이것이 문제이다. 하지만 이 문제를 해결하는 것이 바로 stash 이다. >>> git stash -u >>> git stash list >>> git sta.. 2022. 3. 30.
Git command : reset reset : 과거로 돌아가고 싶다면? 파일에 대한 작업이 아직 마무리되지 않은 상황이 commit 하기 전이라면 어떨까? 미처 마무리되지 않은 파일이 있다면 마무리하면 되고, 이미 stage에 올라간 상황이라면 다시 unstage 하여 작업한 후 다시 stage에 올리면 된다. 하지만 이미 commit을 해버렸는데 그것이 실수였다든지, 이미 merge했는데 그것이 치명적인 문제를 일으켜서 다시 과거로 돌아가야할 필요성이 있다면 어떨까? 그럴 때 사용하는 것이 reset이다. git reset --hard HEAD~2 git reset --hard hash-code 바로 위 이미지의 상태에서 두 단계 전의 상태로 돌아가고 싶다고 가정해보자. 그럼 예시 상으로는 branch3를 merge한 상황으로 돌아가.. 2022. 3. 30.
Git command : merge merge : 합치기 은하가 병합한다는 말에도 merge라고 쓴다. 새롭게 branch를 만들어서 개발하고, 이를 master branch에 합칠 때, Git에서도 이를 merge라고 한다. 이 merge를 하는 방식에는 다음의 세 가지 방식이 있다. fast-forward merge no-fast-forward merge three-way merge >>> git merge branch-name 우선 새로 만든 branch에서 'Make new one' 이라는 commit을 한 다음, master branch로 와서 아무런 옵션 없이 merge하고자 하는 branch 이름을 써서 merge 명령어를 사용하면 위와 같은 결과를 얻게 된다. 가장 평범하게, 가장 심플하게 한 단계 한 단계 commit 해왔.. 2022. 3. 30.
Git command : branch branch : 작업을 하는 가지가지 나뭇가지 Git으로 작업하고 넘어가는 각각의 working tree를 branch라고 한다. 그 중에서 특별히 가장 최근에 commit한 branch를 master branch라고 부르는 것이다. 그렇다면 branch는 왜 만들어서 작업하는 것일까? 위 그림의 가운데 줄이 프로젝트의 큰 틀이라고 생각해보자. 가장 중요한 이유는 프로젝트는 혼자 하는 것이 아니기 때문이다. 혼자서 작업을 한다면 master branch 가닥에서 계속 작업해도 사실 큰 문제가 되지 않을 것이지만, 여러 사람들이 함께하는 와중에 master branch에서 직접 작업하는 것은 많은 문제를 일으킬 수 있다. 게다가 아직 검증도 되지 않은 내용을 바로 master branch에서 작업하는 것은.. 2022. 3. 30.
Git command : log, checkout log : 버전에 대한 log 확인하기 (feat. checkout) >>> git log log는 commit에 대한 log 정보를 확인할 수 있는 명령어이다. 누가, 언제, 어떤 메시지로 commit했는지에 대한 정보와 해당 commit에 대한 hash code를 확인할 수 있다. hash code는 굉장히 길기 때문에 보통 앞의 7자리를 사용한다고 한다. 이 hash code를 이용해서 원하는 상태의 버전으로 이동하는 것이 가능하다. 버전사이의 이동을 가능하게 하는 것이 이어서 설명할 checkout 명령어이다. >>> git checkout hashcode >>> git checkout 85cd340 checkout은 log를 통해 확인한 commit 버전들 사이를 이동하는 명령어이다. maste.. 2022. 3. 30.