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,一切都搞定了。

目录
相关文章
|
3月前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
1月前
|
网络安全 开发工具 git
mac git clone命令提示git@gitee.com: Permission denied (publickey).问题修复
mac git clone命令拉取gitee上项目代码时提示密钥问题
|
1月前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
6月前
|
存储 开发工具 git
|
6月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
90 0
|
2月前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
84 3
|
3月前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
79 1
[Git]入门及其常用命令
|
4月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
177 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
3月前
|
开发工具 git 开发者
|
3月前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
97 0

相关实验场景

更多