Git
May 21, 2021
»
Git
- fork 다른 계정의 Remote Repository 를 내 계정으로 가져옴
- git clone
원격 repository를 내 로컬에서 이용할 수 있도록 복사
git clone 레포지토리주소
로 사용 -
git status 내 로컬로 복사해 온 디렉토리의 commit 되기 전까지의 상태를 표시 - staging area(staged) commit 하기위해 파일을 올려주는 영역
git add 파일
으로 workspace에 있는 파일을 올려줌git add .
으로 모든 파일을 올릴 수 있음 - work space(unstaged)`git restore 파일` stage에 있는 commit되지 않은 변경 사항을 폐기하고 clone상태로 돌리는 명령어
-
commit
git commit -m 메시지
를 통해 수정 작업이 끝났을 때 변경 사항을 저장하고 메시지를 남길 수 있습니다 아직 remote에 업로드 되지 않았지만 commit 된 최근 기록 하나를 취소하고 싶다면git reset HEAD^
명령어를 통해 취소 가능, 여러개는git reset HEAD^^^
이런식으로^
추가 -
git push
git push <origin> <branch>
Local에서 변경이나 commit된 사항을 Remote repository에 업로드 만약 origin의 master 브랜치에 올리게 된다면git push origin master
이라고 작성 -
git log 현재까지 commit 된 내역들을 터미널 창에서 확인할 수 있는 명령어
q
누르면 종료 - Pull Request(PR) 내가 Push한 변경 사항에 대해서 다른 사람들에게 알리는 것
Git의 세 가지 영역 및 상태
-
Unmodified
기존에 Commit했던 파일을 수정하지 않은 상태
-
Modified
기존에 Commit했던 파일을 수정한 상태
-
Staged commit이 가능한 상태, 수정한 파일을 commit 하기 위해서는 staged area에 add 하는 작업이 필요
- git init 기존 디렉토리를 Git Repository로 변환
- remote add origin
나의 Remote Repository에 연결
git remote add origin <Repository 주소>
- remote add pair
Pair의 Remote Repository에 연결
git remote add pair <Repository 주소>
- remote -v 연결된 Remote Repository 확인
- Pull
Remote Repository의 작업 내용 가져오기
git pull <shortname> <branch>
페어 내용을 가져오려면git pull pair master
를 통해 받아올 수 있으며 받아오는 내용은 자동으로병합(merge)
- 충돌 해결하기
같은 부분을 변경한 내용이 존재해 자동으로 병합(merge)할 수 없는 경우
git status
를 통해 어떤 파일이 충돌하고 있는지 확인 가능 충돌이 일어난 파일을 열어 확인해보고 충돌이 일어난 부분은 하나하나 직접 확인후 수정이 필요함 Accept Current Change를 클릭해서 내가 수정한 내용으로 파일에 반영할 수 있습니다 Accept Incoming Change를 클릭해서 Remote Repository의 내용으로 파일에 반영할 수도 있습니다 Repository의 내용으로 파일에 반영할 수도 있습니다 Accept Both Changes는 변경 사항 모두를 반영합니다 수정을 마치면 병합 커밋(merge commit)을 생성해 주기 위해 파일을 staging area로 추가해야합니다git commit
으로 자동으로 생성된 commit 메시지를 남기고 Remote Repository에Push
하면 완료됩니다