常用 git 指令

git clone

git remote add upstream http://...

git checkout -b test upstream/master

git blame ShareButton.js

git log --oneline

git reset --soft  XX

git status

git add .

git commit -m ''

git pull --rebase upstream master

git rebase continue

git push -f origin dev

git remote show upstream

git remote rm upstream

git stash save aaaa

git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态

git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。

git reset --hard HASH #返回到某个节点,不保留修改。

git reset --soft HASH #返回到某个节点。保留修改

git fetch origin master:tmp  = pull + merge

git branch -D delete

git log --pretty=oneline文件名

git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e


部分提交

git cherry pick

情况一: 本地 未 add

git checkout index.js

git checkout .

git stash --all

情况二:add 或 commit 或 push 的提交

git reset be5ace7

情况三:删除最后一次远程提交

方式一:使用revert (多一次提交)

git revert HEAD

git push origin master

方式二:使用reset(历史记录会减少,第一种比较好)

git reset --hard HEAD

git push origin master -f


打patch

git diff 733cfe3 fd303fd > new.patch

git format-patch 733cfe3...fd303fd

git grep

git blame

git stash


打标签

git tag 显示所有标签

git show v1.0.5 显示标签信息

git tag -a v1.0.5 -m 'published v1.0.5'  添加标签

git push origin --tags 推送标签到远端

git push origin v1.0.5  推送标签到远端



git log package.json

git reset package.json xxx



将当前分支推送到远程的同名的简单方法,如下 -

$ git push origin HEAD

将当前分支推送到源存储库中的远程引用匹配主机。 这种形式方便推送当前分支,而不考虑其本地名称。如下 

$ git push origin HEAD:master

git tag -a v4.12.0 -m '十月份第二次迭代4.12.0版'

git push origin v4.12.0

git tag

git tag| grep 4.1

git checkout -b test-risk v2.8.98.0



$ git push origin HEAD:master

git tag -a v4.12.0 -m '十月份第二次迭代4.12.0版'

git push origin v4.12.0

git tag

git tag| grep 4.1

git tag -a v1.2 9fceb02  对过去提交打标签

git checkout -b test-risk v2.8.98.0


git cherry-pick 444 555




打patch https://juejin.im/post/5b5851976fb9a04f844ad0f4

git diff 2c87f3ea86 > grid-debug




git revert merge:

git revert f846xxxx46 -m 1

你可能感兴趣的:(常用 git 指令)