七叶笔记 » java编程 » 常用的Git便捷操作合集

常用的Git便捷操作合集

1.Fork出来的Git仓库同步代码

背景:有的时候从原仓库fork出了一个新仓库,这个新仓库做了自己的修改。可是原仓库也进行了更新,比如修复了bug,增加了新特性之类的。这个时候想要把原仓库代码同步过来。

原理:把原仓库的代码拉到本地,然后通过git merge把原仓库分支代码合到自己的分支代码。

1.先拉取原仓库代码到本地

这样就把原仓库代码拉到本地了,而且 upstream 跟原仓库进行了绑定。(类似origin的绑定,upstream 也可以命名为其它的名称)

此时执行git remote,会看到有两个:

originremote

2.合并分支

切换到fork仓库的分支,可以新建一个合并分支。然后执行命令:

如果有冲突就要解决冲突,解决完执行下命令即可:

最后,如果完成了,可以执行命令移除这个绑定。

2.合并多个提交

完成一小部分功能进行提交是一个良好的习惯,有利于我们随时回溯代码。然而整体功能没完成是不能提交到主干的,而且也倾向于整体功能完成合并为一个提交。因此本地的多个小提交合并成一个提交就很有必要了。下面举个栗子演示合并操作。

执行git log,查看历史提交:

假设要将前两笔提交合并,则记录下第三笔的commitId:9f92d8624a3adf7cd6fb69268f99d864390838c4。(第三笔提交不参与合并)

执行以下命令:

执行后会弹出以下:

此时要将除第一个外的pick改为squash或者s。即改完后为:

改完保存退出,会弹出commit message修改界面,修改保存即可。

再执行git log发现提交已经合并了。

3.代码回退

1、在工作区的代码

2、git add到了索引区

3、commit 到本地分支的代码

这里说下reset时,指定--hard、--soft、--mixed的区别:

hard: 回退时HEAD指针被回退,索引区、工作目录都被重置了。soft: 只改变了历史提交(HEAD指针),索引区和工作目录没有更改。mixed: 不指定时默认为mixed,改变了历史提交(HEAD指针),重置了索引区。

4.使用worktree

当你的项目很大,而有多个特性需要开发时,为了避免频繁切换分支,可以使用git worktree。

git worktree非常适合大型项目又需要维护多个分支,想要避免来回切换的场景。其有以下几个优点:

单独 clone 项目相比,节省了硬盘空间,又因为 git worktree 使用 hard link 实现,要远远快于 clone提交可以在同一个项目中共享可以快速进行并行开发,同一个项目多个分支同时并行演进

git worktree使用非常简单,掌握3个命令即可:

创建了worktree后,只需要用IDE打开添加到filePath的项目即可。

5.其它

以上就是常用的Git便捷操作合集的详细内容,更多关于Git便捷操作的资料请关注七叶笔记其它相关文章!

相关文章