사용자 이름, 메일 주소 설정
git config --global user.name NAME
git config --global user.email Email@email.com
github에 올리기
git init //local repo 생성
git add * //디렉터리 안 파일 전체 staging
//git add file_name //특정 파일만 staging
git status //stage에 저장된 파일 상태 조회
git commit -m "commit msg" //stage에 올라간 파일 commit
git remote add 별칭 URL //remote repo의 주소에 별칭을 붙여 기록
//git remote -v //remote repo 목록 확인
git push 별칭 main //main 브랜치로 전송
//git push -u 별칭 main //추적 관계가 생겨 이후 push / pulll 사용할 때 브랜치 이름 명시안해도 됨
git log
git log //모든 version의 log 출력
git log --graph //시각화하여 출력
git log -p //version 간 차이 출력
git branch
git branch //현재 작업 중인 branch
git branch BRANCH_NAME //브랜치 생성
git checkout BRANCH_NAME //브랜치 작업 환경 변경
위의 두 문장을 하나의 명령어로
git branch -b BRANCH_NAME //브랜치 생성 후 변경
git branch -d BRANCH_NAME //브랜치 삭제
git checkout - //변경 전의 브랜치로 돌아감
git branch -a //local repo, remote repo 브랜치 목록
git checkout -b BRAN_N REPOSITORY/BRAN_N //local repo에 브랜치 생성하고 remote repo의 BRAN_N와 연결
fetch, pull ( fetch + merge )
git pull origin main //remote repo로부터 변경된 파일 받고 병합
git fetch origin main //remote repo로부터 변경된 파일 받음
merge
git checkout work
git add test.py
git commit -m "commit msg"
git checkout main //main에서는 안바뀌므로 다음과 같이 진행
git merge work //main 브랜치에서 work를 병합
cat test.py //변경됨을 확인
merge 충돌
work 브랜치에서 작성 후 commit, master 브랜치에서 다른 내용으로 작성 후 commit 시
master 에서 work 를 병합할 때 (git merge work) 충돌 표시
git diff //어디서 충돌이 발생했는지 추적
fork : 다른 사용자의 저장소를 내 저장소에 복사
clone : remote repo를 local repo에 복제
pull request : 복사한 다른 사용자의 저장소에서 수정한 후, 변경 내역을 저장소 소유자에 병합 요청
fork 버튼 눌러 주소를 복사
git clone https://fork된 repository의 url
git checkout -b work //work 브랜치 생성 후 이동
수정
add - commit - push 과정
git push origin work (branch 확인하기)
github.com 으로 가서 Compare & pull request 버튼
-> 원본 저장소에서 PR 받아서 변경내용 확인하고 merge 결졍
->merge 후 main branch 와 원본 저장소 코드 동기화 필요
(work branch 에서 작업했으므로 main 도 동기화 필요)
-> 내 github 저장소 main branch에서 Sync fork 누르고 Update branch 버튼
->
git checkout main
git pull origin main
git branch -D work //local repo 삭제
git push origin --delete work //remote repo 삭제