Git:命令:修订间差异
imported>Soleverlee 无编辑摘要 |
imported>Riguz |
||
(未显示2个用户的8个中间版本) | |||
第1行: | 第1行: | ||
=Fork/工作流 | =Fork/工作流= | ||
在使用git fork了其他人的项目后,这个项目就会在自己的git空间复制出来,这时如果人家的版本更新了怎么办? | 在使用git fork了其他人的项目后,这个项目就会在自己的git空间复制出来,这时如果人家的版本更新了怎么办? | ||
第21行: | 第21行: | ||
#以上两个命令等同于 | #以上两个命令等同于 | ||
git checkout -b new-branch | git checkout -b new-branch | ||
git fetch | |||
git checkout -b local-branch origin/remote-branch | |||
git push origin local-branch:remote-branch | |||
git push remote local-branch:remote-branch | |||
git push -u origin remote-branch | |||
git branch -a | |||
git branch -d alpha-1 | |||
</source> | </source> | ||
=COMMIT记录= | =COMMIT记录= | ||
<source lang="bash"> | <source lang="bash"> | ||
git log #查看提交记录 | git log #查看提交记录 | ||
git commit --amend #修改上一次提交日志 | git commit --amend #修改上一次提交日志 | ||
git show commit-id | |||
</source> | </source> | ||
如果需要修改多次提交记录,或者合并commit,则 | 如果需要修改多次提交记录,或者合并commit,则 | ||
<source lang="bash"> | <source lang="bash"> | ||
git rebase -i HEAF~6 | git rebase -i HEAF~6 | ||
# '-i'或'--interactive'参数调用交互模式 | |||
</source> | </source> | ||
进入编辑界面: | 进入编辑界面: | ||
第51行: | 第65行: | ||
17 # d, drop = remove commit | 17 # d, drop = remove commit | ||
</pre> | </pre> | ||
=撤销操作= | |||
<source lang="bash"> | |||
git checkout src/main/java/Xx.java | |||
git checkout . | |||
git clean -xdf | |||
git reset --hard #撤销commit | |||
git reset <commit-id> --hard | |||
git cherry-pick <some-commit-id> | |||
</source> | |||
=初始化= | |||
<source lang="bash"> | |||
git init | |||
git remote -v | |||
git remote add osc git@git.oschina.net:solee-linux/spring-cloud-example.git | |||
git pull osc master --allow-unrelated-histories | |||
git push osc master | |||
</source> | |||
=分支操作= | |||
<source lang="bash"> | |||
git checkout master | |||
git pull | |||
git checkout -b release_xx | |||
git tag release_20180801 | |||
git push origin release_xx | |||
git push --tags | |||
</source> | |||
[[Category:Linux/Unix]] | [[Category:Linux/Unix]] |
2018年8月3日 (五) 09:58的最新版本
Fork/工作流
在使用git fork了其他人的项目后,这个项目就会在自己的git空间复制出来,这时如果人家的版本更新了怎么办?
git clone https://git.oschina.net/solee-linux/eova.git
cd eova
git remote add eova-master https://git.oschina.net/eova/eova.git
git fetch eova-master
git pull eova-master master
git fetch origin master:tmp
git diff tmp
git merge tmp
pull=fetch+merge
分支操作
git branch new-branch
git checkout new-branch
#以上两个命令等同于
git checkout -b new-branch
git fetch
git checkout -b local-branch origin/remote-branch
git push origin local-branch:remote-branch
git push remote local-branch:remote-branch
git push -u origin remote-branch
git branch -a
git branch -d alpha-1
COMMIT记录
git log #查看提交记录
git commit --amend #修改上一次提交日志
git show commit-id
如果需要修改多次提交记录,或者合并commit,则
git rebase -i HEAF~6
# '-i'或'--interactive'参数调用交互模式
进入编辑界面:
1 pick f50ebb6 added a secondary datasource, *** THIS MAY AFFECT PROD ENV ***, and added multi-production category service 2 pick 2bed616 updated dmp category response 3 pick 879693f added category filter 4 pick 284c5a6 added another category detail api for multi-product business 5 pick 0121db1 fixed a bug where category names is not correct in category det ail api 6 pick 24ccf25 NEG-2529: (lihaifeng) updated category detail api 7 8 # Rebase 4c79356..24ccf25 onto 4c79356 (6 commands) 9 # 10 # Commands: 11 # p, pick = use commit 12 # r, reword = use commit, but edit the commit message 13 # e, edit = use commit, but stop for amending 14 # s, squash = use commit, but meld into previous commit 15 # f, fixup = like "squash", but discard this commit's log message 16 # x, exec = run command (the rest of the line) using shell 17 # d, drop = remove commit
撤销操作
git checkout src/main/java/Xx.java
git checkout .
git clean -xdf
git reset --hard #撤销commit
git reset <commit-id> --hard
git cherry-pick <some-commit-id>
初始化
git init
git remote -v
git remote add osc git@git.oschina.net:solee-linux/spring-cloud-example.git
git pull osc master --allow-unrelated-histories
git push osc master
分支操作
git checkout master
git pull
git checkout -b release_xx
git tag release_20180801
git push origin release_xx
git push --tags