본문 바로가기

뒷북 정리 (국비 교육)/git, github12

eclipse에서의 Git eclipse에서의 Git 원하는 project에 우클릭을 해서 Team > Share Project 를 선택한다. 그리고 Create 버튼을 통해 어느 곳을 Git repository로 만들 것인가에 대한 repository의 위치를 정하고 Finish를 누르면 해당 project에 대한 folder가 원래의 위치에서 Git으로 관리되는 repository로 옮겨가게 된다. 창에 보이는 체크박스를 클릭해도 지금은 상관 없지만, 나중에 문제가 발생한다고 하면서 잘 사용하는 것이 아니라고 했다. 더 이상의 말은 따로 하지 않았다. 이렇게 Git으로 관리하기 시작하면 eclipse project에 '?'와 '>' 두 기호를 발견할 수 있다. ? 는 untracked를 의미하고, > 는 수정했을 시 나타나는 .. 2022. 4. 5.
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.