개발/Github
Github pull & push
piece5
2023. 7. 8. 14:27
- 처음에 Git 설정
- 로컬 저장소로 쓸 폴더에서 git bash 실행하기
- 이름과 이메일 설정
- 만들어둔 깃 레포지토리 클론 하기
git config --global user.name [깃허브 가입 시 이름]
git config --global user.email [깃허브 가입 시 이메일]
git clone http://github.com/[내 이름]/[저장소 명].git
- 새로 추가됐을 때
- 바뀐 파일이 있는지 확인
git status
- 바뀐 파일 추가
git add [파일 이름] or [폴더 이름/] or .
- 커밋
git commit -m "로그"
- 업로드
git push origin [브랜치 이름]
- 파일 수정 후 커밋할 때
1. git status
git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git restore <file>..." to discard changes in working directory)
# modified: a.py
# no changes added to commit (use "git add" and/or "git commit -a")
2. 커밋하기
git commit -am "second commit"
- 변경된 사항을 삭제하기 (커밋하기 전)
git restore a.py
- 스테이지한 것을 되돌리기(Unstage)
- git restore --staged example.ipynb
- 마지막 커밋 취소
# --hard 작업트리와 스테이지 모두 해당 커밋의 내용으로 변경
git reset --hard HEAD~0 # 마지막(HEAD)에서 0번째 == 마지막
git reset --hard HEAD~2 # HEAD에서 2번째로 돌아가기
git log --oneline
# 3333092 (HEAD -> master) message4
# f639c3f message3
# b202cfd message2
# 9190785 message
git reset --hard b202cfd # HEAD에서 2번째로 돌아가기
# --mixed 작업트리는 보존하고 스테이지까지 변경
git reset --mixed f639c3f
# --soft 저장소만 변경
git reset --soft
# A,B,C 파일을 생성 후 스테이지에 등록하고 저장소에 등록했을 때
# --hard : 작업트리에 아무 데이터가 남지 않는다
# --mixed : 작업트리에는 A,B,C가 존재하고 스테이지와 저장소에는 남지 않음
# --soft : 작업트리와 스테이지에는 A,B,C가 존재하고 저장소에는 남지 않음
- revert
- 추가 vscode 방법
- 먼저 vscode의 왼쪽바에서 3번째 버튼을 누르고
- Initialize Repository 버튼이 뜨면 현재 폴더가 아직 git과 연결이 안되어 있다는 뜻이므로 버튼을 눌러서 git init을 해준다
- 파일 중에 변경된 것이 있으면 Changes에 뜸
- +버튼을 누르면 커밋할 수 있는 상태가 됨. 개별로도 가능.
- Changes → Staged Changes 로 변경
- ✔버튼을 누른 후 commit 로그를 입력한 후 엔터.
- Esc 버튼을 누르면 이전 단계.
- Sync Changes 버튼을 눌러서 git pull & push
- 끝
- Git Repository에서 내려받기 pull
💡 시작할때마다 pull을 먼저한 후 개발한다
- cd [깃 레포지토리와 연결된 폴더]
- 받으려는 저장소와 같은지 확인 : git remote -v
- git pull / git pull origin [브랜치 이름]