깃 기초

Mango·2022년 3월 23일
0

Git

목록 보기
2/2

[생성]
git config --global user.name"(name)"
git config --global user.email"(mail address)"

[생성 확인]
git config --global user.name
git config --global user.email

[기본 브랜치명 변경]
git config --global init.defaultBranch main

[.gitignore] : 깃으로관리하지 않을 파일이름을 적은 파일
- 모든 file.c : file.c
- 최상위 폴더의 file.c : /file.c
- 모든 .c 확장자 파일 : *.c
- .c 확장자지만 무시하지 않을 파일 : !not_ignore_this.c
- logs란 이름의 파일 또는 폴더와 그 내용들 : logs
- logs란 이름의 폴더와 그 내용들 : logs/

git init

git status

git add 파일이름.파일형식
git add . : 모든파일 올리기
git commit -m "message"

[Vim mode]
- 입력 시작 : i
- 입력 종료 : esc
- 저장 없이 종료 : :q
- 저장 없이 강제 종료 : :q!
- 저장하고 종료 : :wq

git log


[시점 되돌리기(hard)] : 이후 시점의 기록을 제거
git log -> 되돌아갈 log의 commit 뒤의 일련번호 앞 6자리 복사한 다음
git reset 6자리 --hard

[시점 되돌리기(soft)]
: 이후 시점에서 해당 시점의 취소버전을 추가. 협업시에는 공유된 코드의 충돌을 피하기 위해 revert를 사용해야 함
git log -> 취소할 시점의 log의 commit 뒤의 일련번호 앞 6자리 복사
git revert 6자리


[branch]
git branch (branch_name)
git checkout (branch_name)
-> checkout명령어가 Git 2.23버전부터 switch, restore로 분리

git branch - (branch_name) : branch 삭제
git branch -m (기존 브랜치이름) to (바꿀 브랜치이름)

[merge]
: 앞의 내역은 그대로 두고 마지막 버전만 병합. 기존의 가지들(사용내역)이 남아있음
git merge (branch_name_for_merge)
* 저장하고 나가기 :wq

git log --graph --all --decorate : 두 분기에서의 작업내용을 시각화

[rebase]
: 재배치. 분기들을 정리할 때 merge대신 사용
: 기존의 기록을 다 잘라 main에 이어붙이기 때문에 히스토리가 남지않고 깔끔하게 정리됨

[conflict]
두 브랜치의 내용이 같은 상태에서 병합 시도할때 error
-> 한쪽을 지워주고 저장한 다음
git add -A
git commit -m "messate"
:wq (merge완료)

git merge --abort : merge 중단
git rebase --continue : 충돌 부분을 수정한 뒤 gtt add . 후 실행


[github - upload]
git remote add origin (git address)
git branch -M main : 기본 브랜치명을 main으로
git push -u origin main

git push

[github - download]
git clone (git address)

git pull

* push할 것이 있을 때 pull 하기
① git pull --no-rebase : merge 방식. 로컬과 원격의 어긋난 시간선을 한군데로 모아줌
② git pull --rebase : rebase 방식. 원격 저장소의 파일을 붙인 다음에 내가한 것을 잘라서 붙이는 방법

[github - conflict]
* 위의 방법과 동일
* 협업시 pull할때 rebase는 ok

git push --force : 로컬의 내역 강제 push. 협업시 논의 후 사용


[로컬에서 브랜치 만들어 원격에 push]
1. 브랜치 생성
2. git push
3. git push -u origin (branch_name)

git branch --all

[원격의 브랜치 로컬에 받아오기]
1. 브랜치 생성
2. git fetch : 원격의 변경사항 확인
3. git switch -t origin/(branch_name)

git push origin --delete(원격의 브랜치명) : 원격의 브랜치 삭제


[참고] https://www.yalco.kr/@git-github/0-2/

profile
How u do that

0개의 댓글

관련 채용 정보