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

目录
相关文章
|
1月前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
195 15
|
4月前
|
安全 开发工具 git
git的常用操作命令
git的常用操作命令
320 57
|
2月前
|
存储 缓存 开发工具
Git stash命令的详细使用说明及案例分析。
通过上述案例,我们看到stash命令能够在不丢失进度的情况下,帮助开发者临时切换开发上下文,这在处理多个任务或紧急bug时特别有用。正确使用Git stash可以大大提高开发的灵活性和效率。
909 0
|
5月前
|
存储 项目管理 开发工具
Git常用命令及操作技巧
以上是Git的常用命令及操作技巧,尽管看起来有些繁琐,但实际上只要花费一些时间进行实践,您将很快熟练掌握。随着使用熟练度的提高,您会发现Git对项目管理和协同工作的强大帮助。
135 20
|
7月前
|
人工智能 前端开发 Java
用git rebase命令合并开发阶段中多条commit提交记录
通过 `git rebase`,可以合并多个提交记录,使开发历史更简洁清晰。操作分为 6 步:查看提交历史 (`git log --oneline`)、设置需合并的提交数 (`git rebase -i HEAD~N`)、修改动作标识为 `s`(squash)、保存退出编辑、调整提交信息、强制推送至远程仓库 (`git push -f`)。此方法适合清理本地无关提交,但若有团队协作或冲突风险,需谨慎使用以避免问题。
1064 60
|
6月前
|
Linux 开发工具 git
版本控制工具:Git的安装和基本命令使用指南。
结束这段探险,掌握了Git你就等于掌握了一个宝藏,随时可以瞥见你的编程历程,轻松面对日后的挑战。Git,无疑是编程者的强大武器,开始你的Git探险之旅吧!
225 28
|
11月前
|
开发工具 git
git 常用命令
这些只是 Git 命令的一部分,Git 还有许多其他命令和选项,可根据具体需求进行深入学习和使用。熟练掌握这些命令能够帮助你更高效地管理代码版本和协作开发。
|
9月前
|
网络安全 开发工具 git
mac git clone命令提示git@gitee.com: Permission denied (publickey).问题修复
mac git clone命令拉取gitee上项目代码时提示密钥问题
|
9月前
|
Java 网络安全 开发工具
Git进阶笔记系列(01)Git核心架构原理 | 常用命令实战集合
通过本文,读者可以深入了解Git的核心概念和实际操作技巧,提升版本管理能力。
|
10月前
|
机器学习/深度学习 Shell 网络安全
【Git】Git 命令参考手册
Git 命令参考手册的扩展部分,包含了从基础操作到高级功能的全面讲解。
256 3