git使用总结

来源:互联网 发布:飞利浦电动牙刷 知乎 编辑:程序博客网 时间:2024/06/12 04:57

常用git指令

参考
http://www.ruanyifeng.com/blog/2014/06/git_remote.html
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
https://git-scm.com/

查看当前状态

要随时掌握工作区的状态
git status

用视图查看git的历史
git log –graph

查看git的历史
git log

查看不同
git diff

版本回退

git reset –hard [commit_id]

撤销修改

场景1:当你改乱了工作区某个文件的内容,没有add,想直接丢弃工作区的修改时
git checkout – [filename]

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令
git reset HEAD [filename]
回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退,不过前提是没有推送到远程库。

删除文件

命令git rm filename用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

远程仓库

本地仓库关联远程仓库
git remote add [主机名] [仓库地址]

克隆
git clone [仓库地址]

本地分支合并到远程分支
git push [远程主机名字] [本地分支名]:[远程分支名]
(远程分支合并到本地分支(相当于fetch + merge))

git pull [远程主机名字] [远程分支名]:[本地分支名]

建立本地分支和远程分支的关联
git branch –set-upstream branch-name origin/branch-name

分支管理

查看分支:
git branch

创建分支:
git branch [name]

切换分支:
git checkout [name]

创建+切换分支:
git checkout -b [name]

合并某分支到当前分支:
git merge [name]

删除分支:
git branch -d [name]

bug修复临时分支

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;
当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

创建和删除Git标签

命令git tag 用于新建一个标签,默认为HEAD也可以指定一个commit id:
git tag -a -m “blablabla…”可以指定标签信息
git tag -s -m “blablabla…”可以用PGP签名标签
命令git tag可以查看所有标签
命令git push origin 可以推送一个本地标签;
命令git push origin –tags可以推送全部未推送过的本地标签;
命令git tag -d 可以删除一个本地标签;
命令git push origin :refs/tags/可以删除一个远程标签。
在命令行中貌似不能使用git pull request的指令,要使用的话可以通过github的客户端或者是在github的网站上进行pull request

0 0