Git常用命令

简介:

版本的还原

git reset --hard d756f627fe568f4d8bcf1852ba60557eeab477a5(版本号)

如果远程服务器也需要还原到d756f627fe568f4d8bcf1852ba60557eeab477a5版本,则继续执行

git push -f

remote远程分支操作

git remote add rocket(远程分支名字,随意起) https://github.com/benjaminwhx/rocket.git(远程分支地址)
git remote -v(查看本地的远程分支信息)
我们可以用git pull rocket master获取远程分支master分支上的更新到本地。
git push rocket master推更新到远程分支

rebase和merge的区别


git merge应该大家都比较熟悉,就是把branch merge进来;
git rebase的意思其实也是蛮简单的,字面意思rebase就是把branch的根基替换一下,有点像嫁接。
网上一直流传的三张图,很经典。

before merge/rebase

1
2
3
4
A <- B <- C    [master]
^
\
D <- E [branch]

after git merge master

1
2
3
4
A <- B <- C
^ ^
\ \
D <- E <- F

after git rebase master

1
A <- B <- C <- D' <- E'

其实,这里rebase的线性,是指在当前branch上是线性的,其中带’ (撇号)的commit并没有被同步到master上,仍然在branch上。
下面的图更好一点:

1
2
3
D'--E' topic
/
A---B---C master

另外两个相关的命令是: git pull和 git pull –rebase。
这两个的区别在于前者是git fetch + git merge,后者是git fetch + git rebase。

什么时候使用merge,什么时候用rebase呢?
推荐一个地址: http://stackoverflow.com/questions/804115/when-do-you-use-git-rebase-instead-of-git-merge

里面有详细的解释:

1
2
3
4
Merge
Let's say you have created a branch for the purpose of developing a single feature. When you want to bring those changes back to master, you probably want merge (you don't care about maintaining all of the interim commits).
Rebase
A second scenario would be if you started doing some development and then another developer made an unrelated change. You probably want to pull and then rebase to base your changes from the current version from the repo.

翻译一下:

1
2
3
4
Merge
你要单独创建一个特性分支用来开发新特性,一旦你想把你修改的内容带到master分支上,你可能需要使用merge操作。(你不用关心任何临时提交)
Rebase
另外一个情况是你和其他同事一起在这个分支上做了变更,但是都不想管,这时候你可能想pull代码然后改变base为repo的当前版本,这时候使用rebase操作最合适了

git修改已提交了的注释


当你不小心,写错了提交的注视/信息,该如何处理呢。理论上,SCM是不应该修改历史的信息的,提交的注释也是。不过在git中,其commit提供了一个–amend参数,可以修改最后一次提交的信息.但是如果你已经push过了,那么其历史最后一次,永远也不能修改了。
下面的命令只能对最后一次的提交进行修改:

$ git commit --amend

对于历史提交,得使用rebase了

$ git rebase -i HEAD~3

表示要修改当前版本的倒数第三次状态。
这个命令出来之后,会出来三行东东:
pick:*
pick:*
pick:*
如果你要修改哪个,就把那行的pick改成edit,然后退出。
这时通过git log你可以发现,git的最后一次提交已经变成你选的那个了,这时再使用:

$ git commit -amend 

来对commit进行修改。
修改完了之后,要回来对不对?
使用下面的命令:

$ git rebase --continue 

OK,一切都搞定了。

目录
相关文章
|
11天前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
45 1
|
15天前
|
开发工具 git
Git教程:深入了解删除分支的命令
【4月更文挑战第3天】
36 0
Git教程:深入了解删除分支的命令
|
1月前
|
存储 Shell Linux
【Shell 命令集合 文件管理】Linux git命令使用教程
【Shell 命令集合 文件管理】Linux git命令使用教程
34 0
|
1月前
|
开发工具 git
git常用命令整理
git常用命令整理
13 0
|
21天前
|
开发工具 git 开发者
Git常用命令大全:让你轻松驾驭版本控制
Git命令速查:`git init`新建仓库,`git clone`克隆,`git add`入暂存区,`git commit -m`提交,`git status`查看状态,`git log`查看历史,`git branch`创建分支,`git checkout`切换,`git merge`合并,`git pull`拉取更新,`git push`推送,`git remote -v`查看远程,`git checkout --`撤销本地修改,`git reset HEAD`取消暂存,`git reset --hard`回退版本。掌握这些,提升代码管理效率!
18 0
|
2天前
|
算法 Java BI
云效产品使用报错问题之平台上导出的统计数据和 git 中使用命令导出的数据统计都对不上,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
28天前
|
算法 开发工具 git
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
【git 实用指南】git 增加 本地代码 git add 相关命令和复杂情况需求
92 0
|
1月前
|
Shell Linux 开发工具
【Shell 命令集合 系统管理 】Linux 查看当前Git仓库的提交历史 gitps命令 使用指南
【Shell 命令集合 系统管理 】Linux 查看当前Git仓库的提交历史 gitps命令 使用指南
16 0
|
1月前
|
开发工具 git
git命令使用大全
git命令使用大全
20 1
|
1月前
|
开发工具 git

热门文章

最新文章

相关实验场景

更多