GrowMe

Git의 기본적인 사용방법 본문

etc .. (with Progrmmaing)

Git의 기본적인 사용방법

오늘도 타는중 2022. 6. 22. 19:05
Git의 기본적인 사용법
# Git workflow
# Git 명령어
# 함께 작업할 시 workflow
# 충돌 해결하기

*혼자 작업 시 workflow

1. Remote에 있는 다른 Repository에서 Fork를 해서 Remote에 있는 내 Repository에 가지고 옵니다.

 

2. 그리고 이 코드를 수정하기 위해서는 내 컴퓨터로 가져오는 작업이 또 필요합니다. 내 컴퓨터에서 작업을 하기 위해서 clone을 합니다.

 

3. 이제 내 컴퓨터의 작업 공간 (work space) 에서 작업에 들어간 파일들을 git의 관리하에 있는 상태로 올려줄 수 있습니다. 이 영역을 staging area라고 말합니다. 즉, staging area에 들어오지 않은 파일은 unstaged 혹은 untracked file이라고 말하며, staging area에 있는 파일들은 staged 된 파일이라고 말할 수 있습니다.

 

4. staging area에 들어온 파일들은 commit이 가능합니다. commit을 하고 나면 내 remote repository에 push 해서 commit 기록을 remote 에도 남겨줄 수 있습니다.

 

5. push를 완료한 후 이제 remote의 원래 레파지토리에 pull request를 보내면 Remote Repository로 내가 수정한 코드를 업로드할 수 있습니다.


 

- workflow 명령어들

  • clone : git clone 명령어 뒤에 Repository 주소를 입력하면 해당 Repository를 내 컴퓨터(Local Repository)로 가져와서 작업할 수 있습니다.
  • status : git status 명령어를 통해 staging area와 untracked files 목록에 어떤 것들이 있는지 확인할 수 있습니다.
  • add : (Ex : git add mypage.java) : 내 Local의 untracked file을 Git 관리 하인 staging area로 추가
  • add. : Staging area에 모든 파일을 한번에 추가 가능
  • restore : 변경사항을 폐기(discard changes) 하는 명령어. commit되지 않은 Local Repository의 변경 사항을 폐기할 수 있습니다.
  • git commit -m ‘커밋 메시지’ : -m 옵션을 통해 커밋할 내용의 코멘트 작성
  • git reset HEAD^ : 아직 Remote Repository에 올라가지 않은 가장 최신의 commit 을 취소(HEAD3은 HEAD^^^와 같다)
  • git push origin branch : 내 Local Repository의 commit 기록들을 Remote Repository로 업로드. git push origin main, git push pair dev 등 git push 뒤에 따라오는 명령어는 상황에 따라 변경할 수 있습니다.
  • git log : 현재까지 commit 된 로그들을 터미널 창에서 확인 종료하는 방법은 q

 

※ git add로 파일이 staging area 상태인데 파일을 또 수정한다면?

  • git add 명령을 다시 실행해서 최신 버전을 Staged 상태로 만들어야 한다.

- git의 세가지 영역 및 상태란?

방금 commit한 기록을 취소하고 에러를 수정하고 싶을 때

아직 Remote Repository에 업로드되지 않고 Local Repository에만 commit 해 놓은 기록이라면 reset 명령어를 통해서 commit 을 취소 가능


*함께 작업 시 workflow

  1. 내 컴퓨터에서 생성한 디렉토리를 init 명령어를 통해 Git의 관리하에 들어가게 만들어 줍니다.
  2. 내 컴퓨터의 Git 디렉토리를 Remote Repository와 연결시켜 줍니다.
  3. pair의 변경 사항과 나의 변경 사항을 Remote Repository를 통해서 공유합니다.

- 함께 작업 workflow 명령어

  • init : 기존 프로젝트를 Git Repository로 변환하거나 새로운 Repository를 초기화하는 데에 사용
  • remote add origin <Repository 주소> : Local Repository를 Remote Repository와 연결
  • remote add pair <Repository 주소> : Local Repository에 Remote Repository 연결
  • remote -v : 현재의 Local Repository와 연결된 모든 Remote Repository 목록을 확인
  • git pull <shortname> <branch> : Remote Repository의 해당 branch 내용을 Local Repository로 가져옴 (ex : git pull pair main)

 

- 충돌 해결하기

페어의 작업 내용을 받아오는 와중에 이때 만일 페어와 내가 동일한 라인을 수정한 파일이 있다면?
—> 자동 병합(merge)에 실패하게 되고 충돌이 발생

git status 명령어를 통해 어떤 파일이 충돌하고 있는지 확인

  • 충돌이 발생한 파일을 열어 보면 어떤 부분에서 충돌이 발생한 것인지 확인 가능.
  • Accept Current Change를 클릭해서 내가 수정한 내용으로 파일에 반영할 수 있습니다.
  • Accept Incoming Change를 클릭해서 Remote Repository의 내용으로 파일에 반영할 수도 있습니다.
  • Accept Both Changes는 변경 사항 모두를 반영합니다.
  • 수정을 마치면 병합 커밋(merge commit)을 생성해 주기 위해서 파일을 staging area로 추가해야 합니다.
  • 충돌한 파일 수정을 완료했다면 Remote Repository에 업로드하기 위해서 staging area에 파일을 추가합니다.(add)
  • Merge commit은 자동으로 Commit 메시지가 생성됩니다. (물론 메시지를 수정할 수도 있습니다.)
  • git commit 명령어로 자동으로 생성된 commit 메시지를 남김.
  • Remote Repository에 Push 한다면 Merge branch ‘master’ of 라는 commit 메시지가 기록됩니다.

'etc .. (with Progrmmaing)' 카테고리의 다른 글

로깅에 대하여  (0) 2022.07.02
[Lunux] 환경변수 설정  (0) 2022.06.22
[Linux] 패키지와 사용권한  (0) 2022.06.22
[Linux] 텍스트 에디터 nano  (0) 2022.06.22
[Linux] CLI 의 기본 명령어  (0) 2022.06.22
Comments