일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 스프링부트
- 프로세스 할당
- 2단계 Page Table
- 웹 프로그래밍
- 스프링
- annotation
- Page Table의 구현
- 자바 알고리즘
- Allocation of Physical Memory
- 문제풀이
- 다단계 페이지 테이블
- springboot
- Inverted Page Table
- 자바 문제풀이
- 코드스테이츠 백엔드 과정 39기
- 알고리즘
- Segmentation with Paging
- CS
- Shared Page
- 웹개발
- 메모리 관리
- 프로세스 불연속 할당
- spring
- linux
- 운영체제
- Effective Access Time
- jpa
- 메모리의 불연속적 할당
- 리눅스
- 프로세스 동기화
- Today
- Total
GrowMe
Git의 기본적인 사용방법 본문
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
- 내 컴퓨터에서 생성한 디렉토리를 init 명령어를 통해 Git의 관리하에 들어가게 만들어 줍니다.
- 내 컴퓨터의 Git 디렉토리를 Remote Repository와 연결시켜 줍니다.
- 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 |