git (기본 정리 01)

3798 단어 git branchgitgit

git status
#작업 디렉토리(working directory)와 스테이징 영역(staging area)의 상태를 확인하기 위해서 사용합니다.
#응답: to be commited → add가 잘 되었음, 커밋하면 됨
working tree clean → 커밋이 잘 됨 → remote로 push하면 됨

git init
#현재 프로젝트 버전 관리(변경 사항 추적)를 시작

git add .
#:모든 파일의 변경 사항 의미(지양)

git add 파일명 #지향
#staging: 다음 커밋까지 변경을 모아 놓기 위해서 사용

git commit →vi로 넘어가서 첫 줄에 떠있는지 확인하고 남기기 (지향)
git commit -m ‘수정사항 명시’ (지양 , 자체적으로 표기한 것이 없어질 수 있음)

#commit - 버전관리
#tip) 커밋은 실행 가능 상태 단위로 관리해야한다.

git log : 커밋 기록 확인
git lg : 간단한 기록 확인

#되돌리기 https://gist.github.com/johanmeiring/3002458

  1. 최신 커밋의 상태로 돌아감 -워킹디렉토리 되돌리기

    git restore helloworld.py : 리스토어는 기록 안남음

  1. 커밋 메세지 바꾸고 싶으면 git commit --amend

  2. 커밋 자체를 취소하고 싶을때

    리셋(지양): 이전 커밋 있었다는 사실 없어짐 vs 리버트: 실수를 알리고, 수정

Best case: Revert
ex) 현재 HEAD에서 직전의 3개의 commit을 순서대로 거슬러 올라가 해당 내역에 대해
commit, push 수행
$ git revert --no-commit HEAD~3..
$ git commit
$ git push origin

git revert --no-commit HEAD~3.. → 3단계 커밋전으로 돌림 → .. 은 순차적으로를 의미

git commit 후 메세지작성
//로컬

//원격
#원격 저장소 푸쉬 #주의:배시에서 폴더 위치 확인
git remote : 연결된 원격 저장소 확인

git remote add <저장소 별칭: 일반적으로 origin> <저장소 주소> : 원격 저장소 연결

예시 : git remote add origin [깃레포지토리 주소]

git push origin main : 원격 저장소 푸쉬

git push -u origin 새 브랜치명 : 새로운 브랜치로 푸쉬
#main or master 의미 : main이 default branch로 사용된다. (master는 과거에 디폴트 브랜치로 사용됨)

#원격 저장소 복제
git clone <저장소 주소><복사해올 디렉토리 명(생략가능)>
dir : 폴더 리스트 확인

#원격 저장소에서 (디폴트 브랜치로) 가져올 때
git pull origin main #원격 저장소가 연결되어 있어야 됨

git branch

#초기 프로젝트(폴더) 생성 경로

git init

git branch :브랜치 목록 확인

git branch <이름> :브랜치 생성

#각 브랜치에서 생성한 내용은 병합하지 않은 경우 독립적이다.

이전에 생성한 sigin폴더와 파일은 사라짐 (즉 영향을 주지 않음)

git switch <브랜치 이름> : 작업 브랜치 변경

#git branch 삭제

git branch -D <브랜치 명>

#원격 저장소의 branch 확인

git branch -r

#원격 저장소 branch 가져오기

git branch -t [원격 저장소의 branch 이름]

원격 저장소의 branch를 가져오면서 해당 branch로 이동한다.

git checkout -b yellow

git branch -a

#각 브랜치 별 원격 저장소 업로드

git push origin <현재 브랜치 명>

#원격에 없던 브랜치로 푸쉬
git push -u origin [브랜치명]

#github에서 직접 병합 - pull request

  • git merge -(+ conflict 예시 - 네트워크 탭 확인)
    git merge [합칠 브랜치명]  : 커밋한 내용에 대해 합친다.
    
    1. merge conflict 문제:
    같은 파일명 hello.py 에 대해 내용이 다른 브랜치에서 각각 반복문, 조건문이다.
    브랜치를 머지할때 어떻게 될까?

컨플릭트 임 -> 당황하지 말고 파일을 확인하고 그 파일을 에디터로 들어가서 내용을 확인해서 중재할 것

→ git status : unmerged paths, both modify 뜨면 → 최종적으로 add

→ git commit → 위에 써진 글 그대로 두고 : 아래에 merge conflict 상황 해결 방법 및 반성문 쓰기 → git push origin main

네트워크 탭에서 확인:

깃헙은 메인(로컬)에서 메인(리모트)으로 받은거라 중간에 생성했다가 지운 브랜치의 상태를 모른다.

git push -u origin repeat-hello : 리모트에 없던 브랜치를 쓸때 u 업스트림셋을 해줘야 → 생김

좋은 웹페이지 즐겨찾기