Git 기초

wonsik·2021년 9월 23일
1

Git

목록 보기
2/2

clone: 리모트 서버의 레파지토리에서 클라이언트로 파일을 복붙
보통 HTTPS 사용

$ cd ~/dev/evan # 원하는 작업 디렉토리로 이동
$ git clone https://github.com/evan-moon/test-repo.git


clone 명령어를 사용하면 원하는 디렉토리 안에 url마지막이 폴더로 들어옴

이후엔 마음대로 수정가능

pull: 서버의 최신 소스를 가져와서 로컬 소스에 병합해줌

fetch: 리모트 서버의 최신 이력을 내 클라이언트로 가져오되 병합은 하지 않음

fetch 명령어를 사용하면 다른 사람들이 리모트 서버에 새로 업데이트한 모든
내역을 받아옴. 

이게 내 로컬버전보다 새로 업데이트 된 것이면 pull명령어를 사용해 내 
컴퓨터 소스 코드를 갱신할 수 있다.

fetch를 가져와서 비교하는 것이 중요~

$ git branch -vv
* master fa0cec5 [origin/master] 마스터 브랜치에욤
  test   1f3578f [origin/test: gone] 리모트에선 죽은 브랜치
  test2  fa0cec5 로컬에서 만들어지고 리모트에 업데이트는 안된 브랜치
  

변경 사항을 리모트 서버에 업데이트 하기

add: 어떤 물건들을 포장할 것인지 고름

$ git add . # 현재 디렉토리의 모든 변경사항을 스테이지에 올린다
$ git add ./src/components # components 디렉토리의 모든 변경사항을 스테이지에 올린다
$ git add ./src/components/Test.vue # 특정 파일의 변경사항만 스테이지에 올린다
$ git add -p # 변경된 사항을 하나하나 살펴보면서 스테이지에 올린다

이때 선택된 변경 사항들은 스테이지로 이동.

git statis 명령어를 사용하여 변경 사항들을 확인 가능. 

status 명령어에 추가적으로 -v 옵션을 사용하면 어떤 파일의 어떤 부분이 
변경된지 확인 가능 

$ git add ./soruce
$ git status

On branch master
Your branch is up to date with 'origin/master'.

Changes to be committed:

(use "git reset HEAD ..." to unstage)

	modified:   source/_drafts/git-tutorial.md
	

commit: add를 사용하여 스테이지에 변경사항을 올렸다면 변경사항을 포장해야 한다.

Git이 하나의 커밋을 하나의 버전으로 정의함.

그래프 상에서 HEAD가 20f1ea9 회원가입 기능 개발 끝! 커밋에 위치해 있으므로 현재 필자의 어플리케
이션은 회원가입 기능까지 개발이 완료된 상태라는 것을 알 수 있다.
	
각각의 커밋들은 Head와 같은 고유한 해쉬 값을 가지고 있음. 이 값을 이용하여 자유자재로 이동할 수 
있다.

push: 커밋된 변경사항들을 push 명령어를 사용해 리모트 서버로 업로드 된다. 이때는 커밋된 변경 사항들을 실제
리모트 서버에 전송하는 것이기 때문에 네트워크에 연결 필수.

어떤 리모트 서버의 어떤 브랜치로 푸쉬할 것인지 알여줘야함 

$ git push origin master # origin 리모트 서버의 master 브랜치로 푸쉬해줘!
--set-upstream 옵션을 사용하고 처음 한번만 브랜치 이름을 입력해주면 그 이후로는 git push 명령어만 입력해도 자동으로 처음 입력했던 브랜치로 변경 사항을 푸쉬할 수 있다.


*** 리모트 서버의 레파지토리에서 소스를 내 컴퓨터에 받아온 뒤 파일을 변경하고, 그 변경 사항을 리모트 서버에 다시 업데이트 : clone -> 파일 수정 -> add -> commit -> push 과정
profile
새로운 기술을 배우는 것을 좋아하는 엔지니어입니다!

0개의 댓글