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 . #本地所有修改的剖踊。沒(méi)有的提交的,都返回到原來(lái)的狀態(tài)
git stash #把所有沒(méi)有提交的修改暫存到stash里面赵辕。可用git stash pop回復(fù)丽焊。
git reset --hard HASH #返回到某個(gè)節(jié)點(diǎn)规婆,不保留修改。
git reset --soft HASH #返回到某個(gè)節(jié)點(diǎn)。保留修改
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
情況三:刪除最后一次遠(yuǎn)程提交
方式一:使用revert (多一次提交)
git revert HEAD
git push origin master
方式二:使用reset(歷史記錄會(huì)減少冯袍,第一種比較好)
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
打標(biāo)簽
git tag 顯示所有標(biāo)簽
git show v1.0.5 顯示標(biāo)簽信息
git tag -a v1.0.5 -m 'published v1.0.5'? 添加標(biāo)簽
git push origin --tags 推送標(biāo)簽到遠(yuǎn)端
git push origin v1.0.5? 推送標(biāo)簽到遠(yuǎn)端
git log package.json
git reset package.json xxx
將當(dāng)前分支推送到遠(yuǎn)程的同名的簡(jiǎn)單方法,如下 -
$ git push origin HEAD
將當(dāng)前分支推送到源存儲(chǔ)庫(kù)中的遠(yuǎn)程引用匹配主機(jī)。 這種形式方便推送當(dāng)前分支康愤,而不考慮其本地名稱儡循。如下?
$ 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? 對(duì)過(guò)去提交打標(biāo)簽
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