转载自: https://www.jianshu.com/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 (推荐)
https://www.jianshu.com/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>