본문 바로가기

Git

(20)
[Git] 원격 저장소 만들기, 원격 저장소에 지역 저장소에서 작업한 내용 올리기, 원격 저장소 내용을 지역 저장소로 가져와서 작업하기 원격 저장소 만들기 github에서 원격 저장소를 만들어 봅시다. github 사이트(https://github.com)에 들어가서 로그인을 하고 new repository를 눌러 원격 저장소를 만들어 만듭니다.적당한 이름을 지어주고 create repository 를 누릅니다. 이렇게 github에 원격 저장소 공간이 만들어집니다. 원격 저장소에 지역 저장소에서 작업한 내용 올리기 원격 저장소를 만들었으니 내가 로컬에서 git으로 작업했던 내용을 올려봅시다. 먼저 원격 저장소에 있는 [clone or download] 에서 원격 주소를 복사합니다.$ git remote add origin https://github.com/uzini0418/gitfth.git -> 원격 주소를 추가할 건데 https:/..
[Git] fork와 clone clone 원격 공간에서는 수정하거나 작업할 수 없기 때문에 clone을 통해 원격에 공개된 저장소를 작업할 로컬 공간에 내려 받는 기능입니다.github의 원격 저장소에서 [clone or download] 버튼을 클릭하면 https:~~ 주소(Use SSH 로도 가능)가 보이고 그 주소를 복사해서 clone할 수 있습니다. $ git clone [가져올 원격 저장소 주소] (폴더명 지정) 커맨드 창에서 원하는 로컬 위치에 원격 저장소를 clone 해봅시다.주소 뒤에 원하는 폴더명까지 입력하면 기존 이름의 git이 아닌 자신이 입력한 이름으로 폴더명을 지정할 수 있습니다. 디렉토리를 확인하면 실제로 git폴더가 생기고 그안에 원격에 존재했던 자료들이 그대로 가져와진 것을 볼 수 있습니다. (+) 추가 ..
[Git] git과 github의 차이 git과 github의 차이 앞 포스팅까지는 git을 사용하여 자신의 로컬에서 소스코드를 관리(add, commit, merge 등)하는 작업을 수행하였습니다.즉, git은 지역 저장소를 만들고 파일, 코드 등을 관리하는 작업이라고 볼 수 있습니다. 그렇다면 github는 ?github는 내가 로컬에서 git으로 관리하는 자료를 다른 사람과 공유하거나 백업해둘 수 있는 웹사이트 입니다.반대로 내가 작업한 것을 올리는 것 뿐만 아니라 다른 사람이 github에 올린 자료를 복제해올 수 있고 어떤 커밋을 했는지, 어떤 소스코드를 사용하고 있는지 확인하고 반영시킬 수도 있습니다. (물론 이것은 최종적으로 작성자의 승인이 필요합니다.) github는 쓰는 이유는 내가 git으로 관리하는 파일들을 백업해둘 수 있..
[Git] 작업 중인 파일을 임시로 숨겨 두는 방법 (stash) 작업 중인 파일을 임시로 숨겨 두는 방법 (stash) 현재 작업 중에 있는 브랜치에서 작업을 완료하지 않고 다른 브랜치로 이동하고 싶을 경우! 커밋을 하기 애매할 때! stash를 사용합니다.stash를 사용하면 작업 중의 파일을 임시 저장 해서 숨겨두고, 이전의 마지막 커밋 상태로 초기화 합니다.이 후 다른 브랜치로 작업 하다가 다시 돌아와서 저장해두었던 작업 내용을 복원할 수 있습니다. 예시로 설명해 보겠습니다. - master에서 f1.txt를 만들고 커밋- exp 브랜치를 만들고 이동 후에 f1.txt를 수정. add, commit은 안한 상태위 작업을 하고 마스터 브랜치로 이동하고 상태를 확인하면 f1.txt가 변경되었는데 제대로 반영되지 않았다고 알려줍니다. $ git stashor$ git..
[Git] branch 병합 시 충돌해결 branch 병합 시 충돌해결 각 브랜치에 있는 같은 파일에서 동일 위치의 코드를 수정하고 병합하려고 할 때 충돌이 일어납니다. 예를 들어 exp, master 브랜치에 common.txt 파일이 있을 때,[기존 common.txt]function a(exp){} [exp - common.txt]function a(exp){} [master - common.txt]function a(master){}기존 코드에서 exp브랜치로 체크아웃하고 exp라는 파라미터를 추가, master 브랜치로 체크아웃하고 master라는 파라미터를 추가하고 병합할 경우같은 파일, 동일 위치의 코드가 변경되어 충돌이 일어나게 됩니다. 충돌이 된다면 아래와 같은 메세지가 뜹니다. git status를 하면 충돌된 파일을 찾을 수..
[Git] branch 병합하기 (merge), fast forward와 merge commit의 차이점 서로 다른 branch 병합하기 (merge) 현재 master, exp 라는 branch가 있을 때, exp를 master에 병합할 경우 master 브랜치로 이동하고 exp를 병합합니다.$ git checkout master$ git merge exp exp 병합 전 exp 병합 후 commit 5는 원래 마스터가 가지고 있는 내용. 3,4가 exp꺼였는데 master에 병합된 내용 master를 exp로 병합할 경우$ git checkout exp$ git merge master master를 exp에 병합하면 exp와 master의 내용이 똑같아 지고 같은 위치(head)에 존재합니다. 그렇다면 master와 동일한 내용을 갖고 있는 exp를 삭제해 보겠습니다.$ git checkout maste..
[Git] branch 정보 확인 branch 정보 확인 정리 $ git log 현재 브랜치에 대한 로그 커밋만 출력 $ git log --branches 모든 브랜치의 로그 출력 $ git log --branches --decorate 모든 브랜치의 브랜치명 표시 $ git log --branches --decorate --graph 로그 왼쪽에 그래프가 출력됨 $ git log --branches --decorate --graph --online 간단하게 볼 수 있도록 표시됨 $ git log 브랜치명1..브랜치명2 커밋 로그 단위로 브랜치명1에는 없고 브랜치명2에는 있는 것 보여줌 $ git log -p 브랜치명1..브랜치명2 커밋 로그 단위로 무엇이 바뀌었는지 보여줌 $ git diff 브랜치명1..브랜치명2 브랜치1과 브랜치2의..
[Git] 작업을 분기 (branch, checkout) 작업을 분기하자 ! branch, checkout (그림 출처 : 생활코딩 Git 강의 영상) 위 그림은 엑셀파일을 다른사람과 분리하여 작업 후 합치는 것을 나타냈다.이 처럼 어떤 작업을 할 때 분리시켜서 작업해야할 경우가 생긴다.예를들어, 테스트 해볼 작업만 따로 진행하고 싶을 때, 나중에 삭제할지도 모르는 작업을 진행하려고 할 때 등 여러 경우가 있다.나누는 방법은 '가지'를 친다는 의미로 branch 명령어를 사용해서 작업을 나눌 수 있다. branch 명령어 브랜치의 목록을 볼 때$ git branch 새 브랜치를 만들 때$ git branch 브랜치명 다른 브랜치로 변경할 때$ git checkout 브랜치명 브랜치를 삭제할 때$ git branch -d 브랜치명 병합하지 않은 브랜치를 강제 삭..