转载自: http://08643.cn/p/c20b416e6db3? (极客江南)(推荐)
git命令:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html (推荐)
git学习网站: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://08643.cn/p/061db8004dd1(推荐)
2)https://backlog.com/git-tutorial/cn/reference/stash.html
下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
Git学习难点:撤销操作和版本回退和分支合并
1、撤销操作: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(有例子)(推荐)
上面分支合并例子练习:
? git init workProject
cd workProject/
? vi a.txt (不写内容也可以)
? git add a.txt?
? git commit -m "c0"
? vi b.txt (不写内容也可以)
? 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? (我正在修复iss53问题)
git commit -a -m 'added a new footer [issue 53]'
git checkout master
? git checkout -b hotfix
? vim index.html (紧急修复master分支上的错误。。。。。,修复好了?。。?!)
? git commit -a -m "hotfix"
? git checkout master
? git merge hotfix
? git branch -d hotfix
? git checkout iss53
? vim index.html? (继续修复iss53问题。。。。。修复完成~~~~)
? git commit -a -m 'finished the new footer [issue 53] next'
? git checkout master
? git merge iss53? #会有冲突
vim index.html? #解决冲突
git merge iss53
git commit -a -m "finished"
练习结束~~~
①git reset HEAD -- <file>? 撤销已添加到索引的文件
②git log –N? 查看最近几次提交
》》git log --oneline 看历史记录的简洁的版本
? 》》git log --oneline --graph? 查看历史中什么时候出现了分支、合并,,开启了拓扑图选项
③git diff 文件名? 查看某个文件的最新改动的地方(和上一次提交相比)
④版本回退
? ? 》》 git reset ––hard HEAD^? ? 回退到上一个版本:
? ? 》》 git reset ––hard HEAD^^? ? 回退到上上一个版本
? ? 》》git reset ––hard HEAD~N? 回退到上N个版本:(N是一个整数)
? ? 》》git reset ––hard 版本号? ? ? 回退到任意一个版本:(版本号用7位即可)
git log 查看所有版本,发现当前版本在“second” 上,而最新提交“third”次提交的版本不见了。比如我回到了18世纪,但是现在回不来现代了,这里我们可以使用git reflog 查看所有的提交记录
⑥git log 查看所有提交的版本
git log --oneline? 或 git log --pretty=oneline查看提交版本简洁版
⑦ git rm:删除文件(删完之后要进行commit操作,才能同步到版本库)
git rm 删除的文件,是版本库中本来就有的,如果删除的文件不是版本库中的,用操作系统rm删除即可,不需要再commit提交
⑧git branch: 查看所有分支
? 》》git branch 分支名称: 新建分支
? ? ? ? 新创建的分支中的内容和master分支中的内容一样
? 》》git checkout 分支名称: 切换到指定分支
? 》》git merge 分支名称: 合并分支
? ? ? 将当前所在分支和指定名称分支进行合并
? ? 》》git branch -d 分支名称: 删除指定分支
? ? 不能在当前分支中删除自己
? 》》 git branch -m <oldbranch> <newbranch>? 修改分支的名称
⑨修改,移动文件的名称或目录的名称
? 》》git mv <oldfilename> <newfilename>