Notice
Recent Posts
Recent Comments
Link
«   2024/06   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Tags more
Archives
관리 메뉴

프랙티스만이 살길. 프랙티스만이 살길.

vscode로 Git hub에 버전관리하기 본문

git

vscode로 Git hub에 버전관리하기

gaussian-goodman

본인이 지금까지 애용하던 방법이다. git bash로 CLI로 제어해보고싶어 시작한 공부지만, 기왕하는거 참고용으로 공부하고 정리해 보았다.


vscode로 폴더를 열고 왼쪽 패널에서 소스제어로 들어간다.

리포지토리 초기화를 눌러 git 리포지토리를 생선한다. 연습을 위해 die hard.txt파일을 하나 만들어 주엇다.

왼쪽에 플러스를 누르면 die hard.txt가 스테이지 상태가된다.

메시지(메시지에는 변동사항을 입력하면 된다. 설명같은거임)를 입력하고 커밋버튼을 누르면 버전이 하나 생성된다. 터미널을 열어 확인해보자.

오우 굳굳 역시 잘됐다. GIt Graph(확장프로그램임 깔아야함)로도 확인해보자.

master라는 branch중에서 가장 최근버전에 master라고 표시가된다. 이렇게만하면 버전관리하는 의미가 없으니 txt파일에 텍스트를 추가해 업데이트를 해보자.

텍스트를 추가하면 다음같이 바뀐다. 변경사항이 업데이트되고 초록색줄로 표시된다. M은아마 modified의 약자가 아닐까..? 아무튼 스테이징 후 커밋해보자.

오예 잘됐다. 참고로 v1, v2는 내가 입력한 메시지다. 그래프에 master왼쪽에 동그라미가 보이는데 저건 head를 의미한다. 지금 head는 master의 포인터다. 아무튼 굳~ 이러면 심심찮으니 새 txt을 만들어서 커밋까지 해보자

v3에 Pink + White.txt를 추가했다.

근데 내가 갑자기 오우 v2가 너무 그러워버리는걸? 돌아가고싶다면 어떡할까? 물론 CLI로 말고

v2에서 우클릭후 check아웃하면된다~ 근데 솔직히 여기서 이거 뭐하러 만들고있지라고 후회가 되기 시작했다. 후회된다고 적은것도 후회됐다. 걍하자 아자아자.자아자아.egoego

뭐 여기까지 왔으면 볼장 다봤다. 이제 핵심인 깃허브와 연동하는법을 알아보자 워낙 연동성이 좋아서 내가 지금까지 CLI을 배우는걸 미뤄놓은 이유다. 근데 내 local한 환경말고 서버와 소통해야될 떄가 생기게 될 것같아서 배우기로 결심했다. 암튼 GUI의 편리함을 맛보자. 일단 깃헙에 레파지토리를 하나 만들고 HTTPS 주소를 복사하자.

원격추가를 클릭해 복사한 주소를 입력한다. 원격입력을 나오면 orign이라고 적는다 맘대로 하라는데 그거 국룰이라고 한다니깐 뭐 국룰은 ㅇㅈ이지. 그리고 푸시를 눌러보자.

오우 먼가… 먼가 일어났다. origin이라는게 추가되었는데 깃헙에 들어가서 확인해보자.

오예 제대로 되어있는걸 확인 할 수있다. 즉 push는 remote저장소(여기서는 github)를 내 로컬 git과 동기화 시킨다는 말이다. 반대로 pull은 내 로컬 git을 remote저장소와 동기화 시킨다. 근데 origin마크는 뭔가요? 하면 reminal에서 좀더 직관적으로 확인 할 수 있다. ****

origin에서도 v3버전이 master branch의 최신버전이란 말이다.

한번 clone도 해보자. 새로운 vscode를 열면

리포지토리 복제라는 버튼이있다. 누르고 깃허브 HTTP주소까지 입력하면~

훌륭하게 clone 되었구나… 귣…. 근데 origin/Head라고 뜨는데 이건 뭔가요? 원격저장소의 HEAD라고 한다. 왜 아까는 안떳는지는 모.름 별로 안중요하다고 한다.

좀 더 알아보기 위해 하나 더 클로해서 디렉토리를 만들고 기존 디렉토리 리포지토리에만 txt에 텍스트를 추가해줬다.

이상태로 커밋해보자

기존에는 v4가 추가되고 local의 master와 head가 생긴걸 볼 수 있다. 근디 새로 만든건 근데로인데 이거 버그아님?? 이라고 생각하면 당신은 바보 push아직 안했잖슴~~

푸시를 해보자

근데 바보는 나였다. 사죄드립니다. 꼭 거들먹거리면 아니다.

보틍 거들먹거리고 싶을땐 자신감이 100퍼센트인 상태일지도 모른다. 고로 나대지말자. but 겸손은 힘들어.

근데 썩을 다시 확인해보니깐 내가 생각한게 맞았다. 3분정도 느꼈던 내 감정들은 무엇이란 말인가. 오우 인생의 희노애락 쓋~~~~~

음 근데 생각해보니깐 이상하다? 그러면 뭐하러 fetch를 하는거지? 아무래도 옆에 구름 버튼이 fetch버튼인데 잘못누른 것같다. 허허 이런게 다 배우는 과정이다. ㅇㅈ? 확실하게 정리하자 이멍청아 pull은 로컬 업데이트!! push는 리모트 저장소 업데이트!!!!!!!!!!

이쯤하고 pull이나 해보자

오우 모두 잘 원만하게 해결되었다. 왜 v5냐면 이것저것 실험하다가 늘어났다. 허허.

근데 만약에 서로 다른 내용을 push하면 어떻게 될까? 왼쪽엔 die hard.txt, 오른쪽은 Pink + White.txt에 텍스트를 추가하고 커밋하고 왼쪽을 먼저 푸쉬해보자.

오른쪽이: 나두 푸쉬할래~ 하면 안된다. 그치만 오른쪽이는 아직 젊다. 젊으면 패기가 있다. 내 패기는 어디 있는걸까? 무지성 푸쉬를 갈겨보자.

꾸짓을 갈!!!!!

푸쉬를 하기전에는 꼭 풀을 해야한다. 왜 와이? 안그러면 왼쪽이 업데이트한게 유실될 테니간~.

직전에도 업급했지만 fetch라는게 있다. pull은 기본적으로 fetch와 merge를 합친 과정이다. 그게 멍미? fetch는 일단 리모트저장소에서 local저장소와 변경점들을 가져온다. 그러고 구경할 수 있다.

아마 vscode에서 주기적으로 자동으로 해주는것같다. 아까도 그래서 발생한 문제인듯 내가 잘못누른게 아니고 허허 또 배웠네.

그럼 merge는 뭐냐? 말그래도 내 local 저장소와 리모트 저장소의 차이점을 보존하면서 합친 새로운 버전을 만든다. 백문이불여일견이라고 한번 보자.

확실히 그래픽으로 보이니깐 이해가 쏚쏚된다. 이악물고 터미널에 git 그래프를 넣은 이유를 알것다. 암튼 이런식으로 된다~. 상한 푸쉬전에는 fetch, pull하기~ 약속해여~

그러던 어느날 oneday 오른쪽이는 힙합이 듣고 싶어졌서 갑자기 돌아버려서 die hard.txt에 지맘대로 텍스트를 추가해버렷다… 왼쪽이는 아무것도 모르고 텍스트를 추가하고 push하기 전에 fetch을 해보는데…

왼쪽이: 잉 머지? 아모르게다 머지나 해야지~

왼쪽이: 잉 머지? 아모르게다 머지나 해야지~

???:콩쥐야 ㅈ됐어…🐸 근데 생활코딩님 말을 듣고 생각이 좀 바꼇다. 이걸 알림 기능으로 생각하니깐 콘플릭스가 멋져보인다. 암튼 저런건 손으로 고쳐줘야한다. 고치고~ 푸쉬하면 끝~~ 이제 CLI로 하는법으로 넘어가보자~

'git' 카테고리의 다른 글

Git CLI로 Git hub에 연결해 버전관리하고 협업하기  (0) 2023.08.05
Git CLI로 버전관리하기 上  (0) 2023.08.05
posix CLI  (0) 2023.08.05
들어가며  (0) 2023.08.05