轉(zhuǎn)載自: http://www.itdecent.cn/p/c20b416e6db3? (極客江南)(推薦)
git命令:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html (推薦)
git學(xué)習(xí)網(wǎng)站:1)https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6? (推薦)
http://www.itdecent.cn/p/061db8004dd1(推薦)
2)https://backlog.com/git-tutorial/cn/reference/stash.html

下面是我整理的常用 Git 命令清單。幾個(gè)專用名詞的譯名如下。
Workspace:工作區(qū)
Index / Stage:暫存區(qū)
Repository:倉(cāng)庫(kù)區(qū)(或本地倉(cāng)庫(kù))
Remote:遠(yuǎn)程倉(cāng)庫(kù)
Git學(xué)習(xí)難點(diǎn):撤銷(xiāo)操作和版本回退和分支合并
1、撤銷(xiāo)操作:https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E6%92%A4%E6%B6%88%E6%93%8D%E4%BD%9C (推薦)
3、分支合并:https://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6(有例子)(推薦)
上面分支合并例子練習(xí):
? git init workProject
cd workProject/
? vi a.txt (不寫(xiě)內(nèi)容也可以)
? git add a.txt?
? git commit -m "c0"
? vi b.txt (不寫(xiě)內(nèi)容也可以)
? git add b.txt
? git commit -m "c1"
? vi index.html? (我正在努力的工作。。。。)
? git add index.html
? git commit -m "c2"
? git checkout -b iss53
? vi index.html? (我正在修復(fù)iss53問(wèn)題)
git commit -a -m 'added a new footer [issue 53]'
git checkout master
? git checkout -b hotfix
? vim index.html (緊急修復(fù)master分支上的錯(cuò)誤。。。。。,修復(fù)好了?。。。?
? git commit -a -m "hotfix"
? git checkout master
? git merge hotfix
? git branch -d hotfix
? git checkout iss53
? vim index.html? (繼續(xù)修復(fù)iss53問(wèn)題。。。。。修復(fù)完成~~~~)
? git commit -a -m 'finished the new footer [issue 53] next'
? git checkout master
? git merge iss53? #會(huì)有沖突
vim index.html? #解決沖突
git merge iss53
git commit -a -m "finished"
練習(xí)結(jié)束~~~
①git reset HEAD -- <file>? 撤銷(xiāo)已添加到索引的文件
②git log –N? 查看最近幾次提交
》》git log --oneline 看歷史記錄的簡(jiǎn)潔的版本

? 》》git log --oneline --graph? 查看歷史中什么時(shí)候出現(xiàn)了分支、合并,,開(kāi)啟了拓?fù)鋱D選項(xiàng)
③git diff 文件名? 查看某個(gè)文件的最新改動(dòng)的地方(和上一次提交相比)
④版本回退
? ? 》》 git reset ––hard HEAD^? ? 回退到上一個(gè)版本:
? ? 》》 git reset ––hard HEAD^^? ? 回退到上上一個(gè)版本
? ? 》》git reset ––hard HEAD~N? 回退到上N個(gè)版本:(N是一個(gè)整數(shù))
? ? 》》git reset ––hard 版本號(hào)? ? ? 回退到任意一個(gè)版本:(版本號(hào)用7位即可)

git log 查看所有版本,發(fā)現(xiàn)當(dāng)前版本在“second” 上,而最新提交“third”次提交的版本不見(jiàn)了。比如我回到了18世紀(jì),但是現(xiàn)在回不來(lái)現(xiàn)代了,這里我們可以使用git reflog 查看所有的提交記錄
⑥git log 查看所有提交的版本

git log --oneline? 或 git log --pretty=oneline查看提交版本簡(jiǎn)潔版
⑦ git rm:刪除文件(刪完之后要進(jìn)行commit操作,才能同步到版本庫(kù))
git rm 刪除的文件,是版本庫(kù)中本來(lái)就有的,如果刪除的文件不是版本庫(kù)中的,用操作系統(tǒng)rm刪除即可,不需要再commit提交

⑧git branch: 查看所有分支
? 》》git branch 分支名稱: 新建分支
? ? ? ? 新創(chuàng)建的分支中的內(nèi)容和master分支中的內(nèi)容一樣
? 》》git checkout 分支名稱: 切換到指定分支
? 》》git merge 分支名稱: 合并分支
? ? ? 將當(dāng)前所在分支和指定名稱分支進(jìn)行合并
? ? 》》git branch -d 分支名稱: 刪除指定分支
? ? 不能在當(dāng)前分支中刪除自己
? 》》 git branch -m <oldbranch> <newbranch>? 修改分支的名稱
⑨修改,移動(dòng)文件的名稱或目錄的名稱
? 》》git mv <oldfilename> <newfilename>