1.怎么删除不需要的分支
$ git branch -d fix_readme
上面的命令是一般的删除方式,比较保险
$ git branch -D fix_readme
报警的话,上面的命令可以强制删除。
2.怎么修改最新的commit的message
$ git commit --amend
上面的命令可以对最近一次的commit的message 做变更。
3.怎么修改老旧的commit的message
$ git rebase -i fed81634fa
变基操作,来修改commit的Message。
4.怎么把多个连续的commit整理成一个
$ git rebase -i bb0fd80d3d5
变基操作,来把多个commit整理成一个。
5.怎么把间隔几个的commit整理成一个
还是要使用变基操作,来整理commit。
6.怎么比较暂存区和HEAD所含文件的差异
$ git diff --cached
7.怎么比较工作区和暂存区之间的差异
$ git diff
把工作区和暂存区所有的文件都比较。
$ git diff -- index.html
对特定的文件进行比较,也可以在后面增加文件,对一群文件进行比较。
8.如何让暂存区恢复成和HEAD的一样?
$ git reset HEAD
暂存区所有的变更都不想要了,使其变更成为和HEAD一样的的。
9.如何让工作区恢复成和暂存区一样?
$ git checkout -- index.html
上面的命令可以是工作区,使其变成和暂存区一样的内容。
10.怎么取消暂存区部分文件的更改?
$ git reset HEAD -- README
将READEME 从暂存区里撤出到工作区,并将READEME恢复成和HEAD一样的内容。
11.消除最近几次的提交
$ git reset --hard cca088256322
消除cca088256322之前的commit。
12.看看不同提交的指定文件之间的差异
$ git diff temp master
上面的命令是比较两个分支之间的差异。
$ git diff temp master -- index.html
上面的命令是比较两个分支之间具体的一个文件之间的差异。temp和master其实就是一个指针,指向分支最近一次提交的commit。
13.正确删除文件的方法
$ git rm README
直接删除文件。
14.开发中临时加塞了紧急的任务怎么处理?
$ git stash
保存现在工作区、暂存区的修改到stash。这时暂存区是空的,可以先处理并且commit。
$ git stash pop
弹出栈里,刚才存着的状态,并清除stash记录的信息。
$ git stash apply
弹出栈里,刚才存着的状态,并保留stash的信息。
15.如何指定不需要Git管理的文件
创建一个.gitignore文本,编辑文本,里面的文件都不会纳入到git的版本管理中。
16.如何将Git备份到本地?
推荐大家使用智能协议,对文件做了打包和压缩。
$ git clone --bare C:/Users/wangbowei/git-tutorial/.git ya.git
上面是哑协议。
$ git clone --bare file://C:/Users/wangbowei/git-tutorial/.git zhineng.git
上面是智能协议。
$ git remote -v
$ git remote add zhineng file:///d/backup/zhineng.git
$ git push zhineng
上面是怎么推送到远端的命令。