.. Cover Letter

ㅇ 공부#언어/GIT&GITHUB

2. git 사용법 clone , git Graph, branch

BrainKimDu 2022. 11. 20. 22:14

이 글은 PinkLab의 강의자료를 바탕으로 작성되었습니다.
 
 
 
git clone
 
실무에 나가면 직접 레포지토리를 작성하는게 아니라
 
서버에 있는 레포지토리를 가져오는 경우가 많다고 합니다.
 
일단 깃헙 홈페이지로 이동합니다.
 
 

 
이런식으로 새로운 레포지토리를 하나 작성합니다.
 
 
그러면 서버에 만들어진 레포지토리를 로컬로 가져와야합니다.
 
그럴 때 사용하는 명령어가 git clone입니다.
 

 
이 주소를 복사합니다. 토큰을 발급받은 분은 토큰을 넣어주어야 할 것 입니다.
 
그러면 git bash(윈도우), 터미널(우분투)를 작동시킵니다.
 

 
저는 D드라이브에 test 폴더를 만들었습니다.
 
여기에 방금만든 레포지토리를 연결시킵시다.
 
clone의 장점은git init이 필요가 없습니다.
 
아까 복사해놓은 주소를 넣고
 
토큰을 삽입해주시면
 

git clone 깃헙주소 와 토큰

 
 

이런 오류가 뜨는 경우가 있습니다.
 
주소에 무언가 이상한 특수문자가 포함되어 있는 경우 이런 경고가 발생합니다.
 
조금 힘들긴해도  https:// 만 직접 타이핑해주고 그 뒤에를 붙여넣기합니다.

 
 

 
 
그러면 깃헙 서버에 있는 데이터가 로컬에 만들어지는 것을 확인할 수 있습니다.
 
굉장히 유용하니 꼭 사용하시길
 
 
이제 브렌치와 충돌에 대해서 공부해봅시다.
 
그 전에 우리는 visual studio code를 통해서 시각화를 해보도록합시다.
 
 
우분투 터미널에서는 원하는 지점까지 이동하고

code .

을 입력하면 자동으로 해당 폴더가 비쥬얼 코드에서 열립니다.
 
 
 
저는 원도우이기 때문에 방금 만들었던 레포지토리와 연결까지 했습니다.

 
그러면  git graph 를 다운받읍시다

 
다운로드가 완료되면 왼쪽에 버튼을 클릭합니다.
 

 
 
다음과 같은 그림이 보이면 성공입니다.
 

 
그러면 hello.py 파일을 하나 생성하고
 

print("hello world")

다음을 입력하고 
add하고 commit을 해봅시다.
 
근데 이번에는 git bash로 가지 않고
 

여기서 터미널을 열어봅시다.
 
여기서 add와 commit을 하고

 
다시 git graph를 보러 가봅시다.

 
 

무언가가 추가된 것을 볼 수 있습니다.
 
hello.py를 수정합니다.

print("hello, bye")

 

다시 커밋을 해봅시다. 그리고 그래프를 보면
 

 
수정이 되어 있는 것을 볼 수 있습니다.
 
 
이제 브렌치를 만들어서 확인을 해봅시다.

 
dev라는 브렌치를 만들었습니다. 그리고 dev브렌치로 갈아탔습니다.
 
이제 dev브렌치로 hello.py를 수정해봅시다.
 

print("hello, good morning")

다시 커밋
 

(커밋이 안된다면 저장을 하자.)
 

데브 브렌치에서 수정을 했다.
 
 
여기까지 적고 
다시 master 브렌치로 돌아오고
git log를 보도록하자
 

그러면 커밋의 순서대로 보여준다.
 
dev 브렌치로 가서 다시 git log

 


여기서부터 윈도우는 작동이 이상합니다.
 
저는 우분투로 갈아타니 주의하시길 바랍니다.


더보기

만약 두 브렌치의 차이를 알고 싶다면

git configuration 파일을 수정해야한다.

 

git config --global -e

해당 명령어를 입력한다.

 

이런 오류가 발생한다면 에디터를 설정하지 않아서 그런다

그게 아니고 32비트만 지원이 된다고 한다.

Git - Git 최초 설정 (git-scm.com)

 

Git - Git 최초 설정

Vim과 Emacs, Notepad++은 꽤 인기 있는 편집기로 개발자들이 즐겨 사용한다. Mac이나 Linux 같은 Unix 시스템, Windows 시스템에서 사용 가능하다. 여기서 소개하는 편집기들이 불편해서 다른 편집기를 사

git-scm.com

 

 

아.. 이건 우분투에서만 되는건가 보다

이 밑은 윈도우에서는 git bash에서 진행을 해야하는 것으로 보입니다.

 

우선 visual studio code를 종료합니다(윈도우만 해당)

 

git config --global --unset-all core.editor

일단 이거로 core.editor를 초기화합니다.

 

git config --global core.editor code

에디터를 visual studio code로 수정합니다.

 

Developer N :: [ Git ] Git의 기본 편집기를 바꾸자 (tistory.com)

 

[ Git ] Git의 기본 편집기를 바꾸자

git의 기본 에디터를 vim에서 다른 에디터로 바꾸는 방법에 대해 알아보겠습니다. Git을 설치하면 기본 편집기가 vim으로 설정됩니다. 리눅스 사용자라면 익숙하지만 윈도우 사용자라면 좀 마~~~니

developern.tistory.com

이 블로그에 따르면

 

git config --global core.editor "code --wait"

이거를 입력하라고 한다.

 

다시

git config --global -e

 

 

그러면 이렇게 뜬다.

 

잠시만 gitbash 말고 visual studio에서 되는지 확인해보겠습니다.

 

 

안된다. 윈도우 환경이라면 일단 visual studio code를 종료하고 

git bash에서 명령어를 입력해야하는 것으로 보인다.

 

 

[diff]
	tool = vscode
[difftool "vscode"]
	cmd = "code --wait --diff $LOCAL $REMOTE"

이걸 한줄 추가합니다.

 

그러면 다시 돌아와서 master와 dev 브렌치를 비교해봅시다.

 

git diff master dev

 

그러면 둘을 비교해줍니다.

 

안된다..

 

그냥 대부분 git bash로 작업을 해야하는 것 같다.

 

git bash에서는 code를 찾을 수 없다 그러고

돌려막기하는건가..

하.. 윈도우는 포기합니다.

 

계속 중간중간 막히니까 공부가 안되네

 
 
여튼 우분투로 들어왔습니다.

 
여기 까지 진행을 하고나서 진행을 합시다.
 

 
여튼 이상태인가요?
 
여기서 

git config --global -e

 
우분투는 터미널에서 바로 열어주네..
아 맥북마렵다..

 
 

[diff]
	tool = vscode
[difftool "vscode"]
	cmd = "code --wait --diff $LOCAL $REMOTE"

이걸 추가합시다.
 
대충 밑에 보이는 명령어보고 저장하면 됩니다.
컨트롤 X 누르고 엔터
 
이제 마스터와 dev 브렌치를 비교해봅시다.
 

open을 누르고
 
 

 
이렇게 비교를 할 수 있게됩니당
 
그 외에도 커밋끼리 비교도 할 수 있습니다.
 

 

커밋 주소값을 입력하고 비교가 가능하다
 

 
그러면 이런식으로 보여준다.
 
 


git push
 
mater 브렌치로 돌아와서 push를 진행하자
 

 
그러면 
리모트 서버(깃헙)에 있는 브렌치와 로컬의 브렌치가 서로 병합이 된다.
 

 
hello.py 파일이 올라간 모습을 볼 수 있다.
 
그러면 이번에는 hello.py를 수정하고 저장하고 커밋하자
 
로컬의 master 브렌치와 리모트서버의 master 브렌치를 서로 비교할 수도 있다.

 
그러면 두 값을 서로 비교한다.
 
여기까지 과정을 한번 그래프로 보자.

 
이런 느낌으로 그래프가 그려진다.