Github
-
[GitHub] Rebase -i로 커밋 합치고 편집하기Github 2020. 12. 20. 00:16
git에서 사용되는 Rebase는 주로 커밋을 병합하는 일 등에 쓰이지만, 쓰임새가 한 가지 더 있는데, 바로 interactive(대화형) 옵션이다. git rebase -i HEAD~{HEAD포인터로부터의 커밋 갯수} 명령어를 사용하여 HEAD로부터 일정 범위의 커밋을 선택하여 편집할 수 있다. 해당 명령어를 입력하면, 아래 화면과 같은 내용이 출력되면서 vi 편집기 화면으로 진입한다. 아래에는 각각의 옵션들에 대한 설명이 나와있는데, 각 옵션들을 함께 실습하며 어떤 역할을 하는 지 알아보도록 하자. Pick 위 캡쳐화면에 pick이라고 표시된 두 개의 커밋은 현재 사용된다는 것을 의미하며, 해당 표시가 되어 있는 커밋은 어떠한 편집이 가해지거나 하지는 않는다. 하지만 pick 표시가 되어있다하더라도..
-
[GitHub] Tag란?Github 2020. 12. 19. 23:25
Tag란 깃에서 각 커밋에 달 수 있는 꼬리표 같은 것으로서, 주로 릴리즈 버전을 표시하는 데에 주로 이용된다. 태그가 달려있는지 여부와 해당 태그에 이름에 따라 어떤 버전이 중요한 버전인 지 확인할 수 있게 해준다. git tag :현재 등록된 태그의 목록을 표시한다. git tag "태그 이름" : 해당 이름으로 현재 HEAD에 태그를 추가한다. 위와 같이 해당 이름으로 태그가 추가된 것을 확인할 수 있다. git tag -d "태그 이름" 해당 이름을 가진 태그를 삭제한다. 참고로, git push를 통해 원격 저장소에 변경사항을 푸시한다고 해도, 변경 사항에 tag가 자동으로 포함되지 않기 때문에, 원격지에도 태그를 적용하고자 한다면, git push --tags를 통해 태그를 적용할 수 있다.
-
[Github] Stash란?Github 2020. 11. 24. 22:48
Git을 사용하다 보면 한 번쯤은 그럴 때가 있을 것이다. 우리가 주로 변경사항을 커밋할 때에는, 어떠한 기능이 완성되거나 완료되었을 때 주로 하기 때문에 지금 작업하고 있는 내용이 있는데, 다른 브랜치로 체크아웃 해야 할 때, 변경이 완료되지 않았을 때, 커밋하기는 애매한 상황이 되어버린다. 그렇다고 지금까지 변경한 내용을 커밋하지 않으면, 저장되지 않기 때문에 다시 작업해야만 한다. 이럴 때에 이용되는 것이 바로 stash다. stash는 현재까지 Working Tree에서 작업한 내용을 커밋하지 않고, 별도의 저장소에 저장하는 명령어이다. 그러므로 stash 명령어를 실행하면, Working Tree가 HEAD의 위치로 돌아가 깨끗해진다. 이러한 점은 다른 브랜치에서 rebase를 실행하거나 병합 ..
-
[Github]브랜치란?Github 2020. 11. 21. 23:07
브랜치란? 개인이 깃을 통해 버전 관리를 하는 상황에서, 어떠한 기능을 처음 개발하는데 도중에 문제가 생겼다고 한다면 그저 지금까지 해왔던 변경사항들을 버리고 이전으로 되돌아가면 해결이 되겠지만, 회사 업무 등과 같이 여러 사람들과 함께 협업해서 진행해야하는 프로젝트라면 이야기가 많이 달라진다. 예를 들어 어떤 대형 프로젝트를 개발 중에 한 사람이 새로운 기능을 개발해서 변경 사항을 커밋했는데, 전체 프로젝트에 그 내용이 적용되어 그 프로젝트를 개발 중인 다른 사람들에게도 그 영향이 미치게 되었다. 그런데 그 기능이 심각한 오류를 일으킨다면, 전체 프로젝트에도 문제가 생겼다면 통합 버전을 사용하던 모든 사람들에게도 영향이 가버리고,잘 진행되던 프로젝트는 마비 상황에 이르게 될 것이다. 이러한 상황을 막기..
-
[GitHub] Git push 오류 - fatal: The current branch master has no upstream branch.To push the current branch and set the remote as upstream, use 해결방법Github 2020. 11. 7. 18:45
레이아웃 파일을 하나 다 만들고 난 뒤 커밋을 완료하고, 푸쉬를 진행하여 원격 저장소에 반영을 하려고 git push를 진행하였는데, 예상과는 다르게 오류 메시지가 뜨면서 푸쉬에 실패했다. 오류를 읽어보니 "현재 마스터 브랜치는 upstream? 브랜치가 없다. 현재 브랜치를 푸쉬하려면 upstream 브랜치를 설정하던지, 아래의 명령어를 실행해라"라는 뜻인 것 같다. 보아하니 현재 브랜치의 원격저장소를 제대로 설정하지 않아서 생기는 문제인 듯 하다. 바로 실행해 본다. Everything up-to-date! 푸쉬가 잘 진행된 것 같다. 실제 원격저장소에도 제대로 반영된 것을 확인할 수 있다.
-
[GitHub] 원격 저장소에 깃 연결하기Github 2020. 11. 5. 00:34
앞으로의 공부에 활용할 목적으로 안드로이드 프로젝트를 시작하기로 했다. 그동안 프로젝트를 거쳐오면서 든 생각은, 깃을 어느정도는 다룰 줄은 알지만 내가 가진 프로그래밍 경력에 비해서 그렇게 잘 다룬다고 생각하지는 못할 것 같다는 것이었다. 그래서 깃을 좀 더 깊숙히 다뤄보고자 편리하게 다뤄왔던 GUI 중심의 깃은 멀리하고 CLI로 깃을 다루는 것을 목표로 하기로 했다. 처음 Git CLI를 시작하려면 추가하려는 프로젝트 경로에서 마우스 오른쪽 클릭 - [Git Bash Here]를 눌러 Git CLI 콘솔을 실행시키면 된다. 1.프로젝트를 깃에 추가하기 우선 git init 명령어로 해당 프로젝트를 깃에 등록해주었다. 2. 프로젝트 파일 추가하기 깃에서 변경사항을 추적할 파일들을 추가해야 한다. 나는 현..