git config --global user.name "이름"
git config --global user.email "깃허브가입메일"
git config --list
git init
Initionalized 어쩌고 뜨면 성공.
git add .
+ . 은 전부를 보낸다는 의미다.
+git status
로 추가된 파일 확인 가능
+git 파일명
을 통해 특정 파일만 올릴 수 있다.
git commit -m "히스토리네임"
나중에 올려졌을때 히스토리네임은 아래의 노란 줄과같이 보여진다.
remote add origin git@github.com:주소
로컬(내컴퓨터) 프로젝트와 인터넷 속 깃허브를 연결해준다.
+git remote -v
로 연결 확인
git push orgin master/main(마스터 아니면 메인 둘중 하나)
git add .
git commit -m "히스토리네임"
git push origin master/main
공동으로 사용할 깃허브에 저장소를 만들어 프로젝트를 올린다.
협업자들은 공동 저장소에서 자신의 저장소로 쌍둥이를 만드는 fork를 한다.
fork한 저장소에서 git clone을 한다.
git branch 원하는브렌치명
클론한 저장소에서 brench를 새로 만든다.
브렌치를 만드는 이유는 자신이 생각하는 코드가 한가지 이상의 방법이 있을 때, 여러가지 코드를 시도하여 바꿔보고 가장 잘 했다고 생각한 코드만 공동 저장소로 보낼 수 있다. 두번째로는 pull을 받지 않고도 본인이 수정한 부분만 알아서 인식해서 mrege(합치기)가 가능해 conflict(충돌)이 날 가능성이 적다.
git switch 설정브렌치명
+ git branch
를 치면 자신이 main인지 브렌치인지 위치 확인이 가능하다
자신의 컴퓨터, 즉 브렌치에서 수정한다.
git add .
, git commit -m "히스토리명"
, git push origin 브렌치명
공동 저장소로 해당 파일을 pull한다
깃허브로 돌아가 pull request를 보낸다.
+ 내가 수정한 부분 보냅니다. 라는 의미
본인에게 권한이 있다면 merge(합치기)까지 한다.
본인의 브렌치와 깃허브의 연결은 끊는다.
본인의 깃허브 fork에서 공동 저장소와 sink를 맞춘다.
git switch main/master
본인 vsc로 돌아가 메인으로 변경한다.
git pull origin main
본인의 vsc에서 본인 깃허브 fork와 똑같이 맞춘다.
git branch -D 브렌치명
vsc에서 본인이 생성한 브렌치를 지운다
git branch 브렌치명
그리고 다시 브렌치를 생성해 수정을 계속하면 된다.
[생성자]
[협업자]
이메일을 통해 수락한다
깃을 클론하여 파일을 저장한다.
ctrl + shift + p
를 눌러 git clone
을 검색한다.
창에 url을 복사해서 붙여넣는다.
클론한 파일을 열어 로컬 브렌치를 생성한다.
git branch 브렌치명
: 브렌치 생성
git switch 브렌치명
: 브렌치 이동
git branch 브렌치명
: 브렌치 확인
위의 설명과 같이 push 과정을 진행하면 브렌치가 연결된다
나의 브렌치에서 코드를 수정한다
나의 브렌치에 main/master의 코드를 pull한다.
나의 브렌치의 코드를 push 과정을 진행한다
깃허브의 레퍼지토리로 이동한다
pull request
에서 new pull request
를 누른다
main/master에게 pull request를 보낸다.
+ 브렌치 이동은 원하는대로 선택 가능하다.
[생성자]
[Branch]
branch기능은 (commit의)복사본을 만드는 일이다
git branch 작명(내가 만드려는 파일 브렌치명)
git switch 작명
git branch
로 내가 메인인지, 사본파일인지 나의 브렌치 위치를 알 수 있다.git switch main 또는 master
을 하면 된다[Merge]
Merge기능은 여러가지의 브렌치들에서 올라온 수정 파일들을 메인 브렌치에 합치는 일이다.
git merge 합칠브렌치명
을 적는다.git branch -d 브렌치명
으로 브렌치 삭제가 가능하다git branch -D 브렌치명
으로 한다git merge --squash
를 하면 연결이 아닌 새 브랜치를 만들어준다.[git pull]
git fetch 와 git merge를 동시에 해주는 작업이다.
원격 저장소에(깃허브에) 팀원이 만든 새로운 파일이 생기면 git push 를 못한다.
+ 따라서 원격 저장소(깃허브)에서 로컬 저장소(내 컴퓨터 vsc)로 옮기기 위해 git pull 원격저장주소 또는 git pull origin 브랜치명 을 작성한다
+ 상대도 마찬가지, 누군가 한명이 push 를 했다면 반드시 pull로 올려진 파일을 pull로 모두 적용한 후 push를 해야한다.
merge conflict 즉, 충돌이 날 가능성이 있다
+ 원격 저장소에서 수정한 파일과 내가 수정한 파일이 똑같은 곳에서 발생했을 떄.
깃에서 사용하는 명령어 모음
git clone 원격저장소주소
깃허브에서 project를 만든 후 git clone 명령어로 local에도 작업공간을 만든다.
git init
깃허브에서 clone하는 방법이 아닌, 컴퓨터에서 먼저 작업을 시작했을 때, 저장소를 생성하는 명령어
git branch
현재 브랜치 (*표시 되어있는) 및 로컬 브랜치 확인
git branch -m 브렌치명
브렌치 생성과 동시에 이동(switch)
git branch 브렌치명
브랜치 만들기
git branch -d 브렌치명
브랜치 삭제
git branch -D 브렌치명
브랜치 강제 삭제(병합되지 않은 브랜치에 대한 삭제)
git push origin -d main
원격 저장소에 있는 main 브랜치 삭제
git push origin :main
로컬에서 main 브랜치를 지웠을 때, 원격 저장소에도 그 변경사항을 반영
git checkout main
main 브랜치로 이동
git checkout -b main
main 브랜치 만들고 이동
git status
현재 상태(add 전후, commit 전후 등) 및 브랜치 확인
git log
로컬 저장소의 커밋 히스토리 보기
git log -n 10
10개만 보기
git log --oneline --graph
log 그래프로 확인
it checkout -- main.py
변경된 main.py 되돌리기
git rm main.py
로컬, 원격 저장소 모두에서 main.py 삭제
git rm --cached main.py
원격 저장소에서 main.py 삭제 (로컬 저장소는 그대로)
git checkout -b main
main 이라는 브랜치를 만든 후, main으로 이동
git add .
변경사항 모두 작업필드에 저장
git commit -m "메시지"
로컬 저장소에 반영
git checkout master
master 브랜치로 이동
git merge main
main 브랜치를 합치려는 target 브랜치로 이동 후, 로컬에서 target에 main 브랜치를 병합
git push
git branch -a
로컬 브랜치 및 원격 브랜치 확인
git checkout -b main origin/main
원격 저장소의 origin/main 브랜치와 이어지는 로컬 main 브랜치 생성
git add .
변경사항 모두 작업필드에 저장
git commit -m "메시지"
로컬 저장소에 반영
git push
원격 저장소에 반영, main에 반영
git status
지금의 상태 임시 저장, 커밋해야 하는 것이 있어, pull이 안될 때 주로 사용
git stash list
stash 목록 확인
git stash apply
가장 최근의 stash 가져오기
git stash apply stash이름
특정 stash 가져오기
git stash drop
가장 최근의 stash 삭제
git stash clear
모든 stash 삭제
git k / git log --all --graph
그래프 보기