pull -> push -> commit
git fetch -> git merge Fetch_HEAD -> commit -> push
git pull = git fetch; git merge origin/master
…or create a new repository on the command line echo "# cs2dddx" >> README.md
git init
git add README.md
git commit -m "first commit"
git branch -M main
git remote add origin https://github.com/ohjiwoo123/cs2dddx.git
git push -u origin main
…or push an existing repository from the command line
git remote add origin https://github.com/ohjiwoo123/cs2dddx.git
git branch -M main
git push -u origin main
…or import code from another repository You can initialize this repository with code from a Subversion, Mercurial, or TFS project.
# git 연습을 위한 폴더 생성
cd ~
cd Documents
mkdir git
cd git
mkdir hello-git-cli
cd hello-git-cli
# 현재 폴더에서 git
# initialized git repository in ~/Documents/git/hello-git-cli/.git
git init .
# .git 폴더가 생긴 것을 확인할 수 있다.
ls -al
# .git 폴더 안에 git과 관련하여 여러 폴더와 파일이 생성된다.
cd .git
ls
- (1)
git init
- 현재 폴더를 git 폴더로 초기화한다. (git과 연결된다.)
- (2)
git status
- (3)
git log
- (4)
git log --stat
- (5)
git log -p
- (6)
git diff
- (7)
git reset --hard
- (8)
git revert 일련번호
- (9)
git checkout f95dcac5d325a57a48b87d7dda27ad4ad4d480ce
- (10)
git checkout 브랜치이름
- (11)
git commit -am "4"
- add와 commit을 동시에 한다. 적어도 한 번은 add를 하여서 tracked 상태가 되어야 쓸 수 있다.
- add와 commit을 동시에 한다. 적어도 한 번은 add를 하여서 tracked 상태가 되어야 쓸 수 있다.
- (12)
git commit
- (13)
git commit --amend
- 커밋 메세지를 수정할 수 있다.
- 커밋 메세지를 수정할 수 있다.
- (14)
git config --global core.editor "nano"
- 원하는 에디터로 설정할 수 있다. nano || vim 등등
- 원하는 에디터로 설정할 수 있다. nano || vim 등등
- (15)
git branch ooo
- 그냥
git branch
를 하게 되면 현재 branch 목록을 보여주고,git branch 이름
을 하게 되면 새로운 브랜치를 만든다.
- 그냥
- (16)
git log --all --graph --oneline
- (17)
git merge ooo
- 현재 브랜치에다가 ooo브랜치를 합친다. merge를 할 경우 conflict가 일어날 수 있으므로 유의해야한다.
- 현재 브랜치에다가 ooo브랜치를 합친다. merge를 할 경우 conflict가 일어날 수 있으므로 유의해야한다.
- (18)
git clone URL주소
- URL주소에 있는 원격저장소(Repository)를 연결한다.(나의 로컬 저장소에 복제한다)
- URL주소에 있는 원격저장소(Repository)를 연결한다.(나의 로컬 저장소에 복제한다)
- (19)
git pull
- 당겨오는 것. 즉 원격저장소에서 로컬저장소로 파일을 끌어온다. pull -> commit -> push
- 당겨오는 것. 즉 원격저장소에서 로컬저장소로 파일을 끌어온다. pull -> commit -> push
- (20)
git remote
git remote
를 통해서 현재 연결된 원격저장소의 이름을 보여준다. ex)origingit remote -v
를 통해서 현재 연결된 원격저장소의 URL을 보여준다. ex) https://github.com/ohjiwoo123/blahblah.gitgit remote add origin URL주소
URL주소와 현재 로컬 저장소를 연결시킨다.
- (21)
git push
- 로컬 저장소에서 원격 저장소로 파일을 보내는 것(업로드).
- 로컬 저장소에서 원격 저장소로 파일을 보내는 것(업로드).
- (22)
git fetch
git pull
과 비슷한 개념으로 정확하게git pull
===git fetch
->git merge FETCH_HEAD
와 같다.
- (1) p4 merge Tool
- merge 합칠 때, 도움을 주는 기능. Helix Visual Merge Tool(P4Merge)은 3방향 병합 및 병렬 파일 비교 도구입니다.
- merge 합칠 때, 도움을 주는 기능. Helix Visual Merge Tool(P4Merge)은 3방향 병합 및 병렬 파일 비교 도구입니다.
- (2) cherry-pick
- git cherry-pick임의의 Git 커밋을 참조로 선택하고 현재 작업 중인 HEAD에 추가할 수 있는 강력한 명령입니다. 체리 따기는 브랜치에서 커밋을 골라 다른 브랜치에 적용하는 행위입니다. git cherry-pick변경 사항을 취소하는 데 유용할 수 있습니다. 예를 들어 실수로 잘못된 브랜치에 커밋했다고 가정해 보겠습니다. 올바른 분기로 전환하고 커밋이 속해야 할 위치를 선택하면 됩니다.
- git cherry-pick임의의 Git 커밋을 참조로 선택하고 현재 작업 중인 HEAD에 추가할 수 있는 강력한 명령입니다. 체리 따기는 브랜치에서 커밋을 골라 다른 브랜치에 적용하는 행위입니다. git cherry-pick변경 사항을 취소하는 데 유용할 수 있습니다. 예를 들어 실수로 잘못된 브랜치에 커밋했다고 가정해 보겠습니다. 올바른 분기로 전환하고 커밋이 속해야 할 위치를 선택하면 됩니다.
- master branch와 sub branch가 있다고 가정한다.
- 현재 나는 sub branch에서 작업중
git checkout sub
git rebase master
하면 sub가 master 앞으로감.- git merge의 경우
git merge