오늘도 삽질중

Git 혼자 작업 본문

[Git] 기초

Git 혼자 작업

해빋 2021. 9. 3. 23:03

    <목차>

  • Fork
  • clone
  • git init
  • git status 
  • git add
  •  git commit
  • git reset HEAD^
  • git push <origin> <branch>
  • git log
  •  pull request (PR)

 👊  Fork

- 다른 사람의 remote repository에서 내 remote repository로 가져올때 Fork한다.

 

 👊  clone

- 내 remote repository에서 내 컴퓨터(local repository)로 가져오기 위해 clone한다.(내 컴퓨터로 복사한다고 생각)

git clone <포크한 내 repository주소>

 

 👊 git init

 

- 내 컴퓨터의 작업 공간(work space)에서 작업에 들어간 파일들을 git의 관리 하의 상태로 만들어준다.( 깃허브에서 포크-클론 해준거는 이미 깃의 관리 하의 상태이므로 생략가능하지만, 내가 직접 내 컴퓨터에서 만든 파일이라면 git init을 꼭 해줘야 한다.

git init

 

 👊 git status 

-  파일이 어떤 상태에 있는지, 그리고 해당 파일에 대해 어떤 행동을 할 수 있는지 알 수 있다.

 

<예시: untracked files목록을 통해>

git status 명령어를 통해 staging area와 untracked files목록에 어떤 것들이 있는지 확인 할 수 있다.

두 개의 파일을  수정을 했다. (modified) 그런데 changes not staged, 즉 staging area에는 들어가지 않았다.  여기서 두 가지 선택이 있는데(위에 터미널에서 빨간색으로 수정되었다는 표시 위에 use-라인을 읽으면 앞으로 어떻게 해야하는지 알 수 있다.)

  •      staging area에 들어가게 해주려면
git add <파일이름> 
git add . // 수정한 파일 모두 staged시키는 것임

 

  • 수정된 파일을 폐기하려면 (discard change)
git restore <폐기할 파일이름>

 

수정한 사항을 restore 하자 마자 내 working space에서도 사라졌다. 

다시 git status를 해보면

 

 

👊 git add

- untracked files를 staging area로 추가해서 Git의 관리하에 둠. commit을 하기 위해서는 git의 관리 하에 있는 영역 즉,                         staging area에 놓아야 한다.  git add를 했을 때 터미널 창에는 아무 변화가 없다. 

git add <파일이름> 
git add . // 수정한 파일 모두 staged시키는 것임

 

git add를 한 후에 취소를 하고 싶다면 (staged->unstaged),  git status 명령어를 친 후 어떻게 해야할지를 보자(use- 부분을 참고)

 

 

👊 git commit 

-remote repository들어가려면 꼭 commit을 해야한다. 변경 사항을 저장하기위함이기도함

 

git commit -m"" // ""안에는 수정한 파일이름(내맘대로)

출처: 코드스테이츠

cf) commit 기록은 위의 그림처럼 날짜, commit한 사람, commit메시지가 모두 기록된다.

 

👊 git reset HEAD^  

-아직 Remote Repository에 올라가지 않은 commit이면 reset명령어로 취소할 수 있다.

(git reset했을때 터미널 창에는 변화가 없다.)

 

git reset HEAD^
git reset HEAD^^
git reset HEAD^^^

  

👊 git push <origin> <branch> 

- 현재 Local Repository에 저장되어 있는 commit 기록들을 내 Remote Repository에 업로드 해줘야 한다. (업로드를 해줘야  pull request 할 수 있음)

// 보통 이렇게 입력을 해준다.
git push origin master/main

// 만약 내 remote와 연결이 되어있는 상태라면
git push

👊 git log 

현재까지 commit된 내역들을 터미널 창에서 확인할 수 있다.(이 터미널 창을 종료하려면 q)

git log

 

 

👊 pull request (PR)   (이건 GUI로 한다)

- 내가 push한 변경 사항에 대해서 다른 사람들에게 알리는 것 (터미널에서 안함, 깃허브GUI에서 함)

 

Comments