我的编程空间,编程开发者的网络收藏夹
学习永远不晚

常用的Git便捷操作合集

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

常用的Git便捷操作合集

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

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

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

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

git remote add upstream (填写你仓库git地址)

git fetch upstream

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

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

origin
remote

2.合并分支

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

# 分支名不一定得是master,也可以是其它的原仓库分支。
git merge upstream/master 

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

git merge --continue

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

git remote remove upstream

2.合并多个提交

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

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

commit 03c72b6dfc24c6bf6f60e2c922552249cc3e5376

git test 3

commit 24276fbd0495c4b337f4058726a48e68118eac0a

git test 2

commit 9f92d8624a3adf7cd6fb69268f99d864390838c4

git test 1

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

执行以下命令:

git rebase -i 9f92d8624a3adf7cd6fb69268f99d864390838c4

执行后会弹出以下:

pick 24276fbd git test 2

pick 03c72b6d git test 3

# 省略以下内容

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

pick 24276fbd git test 2

s 03c72b6d git test 3

# 省略以下内容

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

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

commit 980d318f91f2faa1d748ae5a963b692162dd521c

git test merge


commit 9f92d8624a3adf7cd6fb69268f99d864390838c4

git test 1

3.代码回退

1、在工作区的代码

# 丢弃某个文件
git checkout -- 文件名

# 丢弃全部
git checkout -- .

2、git add到了索引区

# 回退索引区所有文件
git reset HEAD .

# 回退索引区指定文件夹
git reset HEAD 文件夹名

3、commit 到本地分支的代码

# 回退最新一笔提交
git reset --hard HEAD^

# 回退到指定的版本
git reset --hard 版本号

这里说下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。
git worktree add filePath
# 移除一个 worktree
git worktree remove filePath
# 查看目前所有的 worktree
git worktree list

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

5.其它

#本地分支与远程进行关联
git branch --set-upstream-to=origin/(要关联的分支名)

#推送本地新建分支到远端分支(远端会自动创建分支)
git push origin newbranch:originbranch

#删除远端分支
git push origin --delete (branch_name)

#查看本地分支关联的远程分支
git branch -vv

#分支重命名
git branch -m oldName newName

#修改当前项目的用户名和邮箱
git config --local user.name “userName"
git config --local user.email email@example.com

#删除本地版本库上那些失效的远程追踪分支:
git remote prune origin --dry-run

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

常用的Git便捷操作合集

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python集合常用操作汇总

这篇文章主要介绍了python集合常用操作汇总的相关资料,需要的朋友可以参考下
2022-12-25

Python集合常用的操作有哪些

本篇文章为大家展示了Python集合常用的操作有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、什么是集合?集合(set)和字典(dict)类似,它是一组 key 的集合,但不存储 value
2023-06-15

python中字典和集合的常用操作

本篇内容主要讲解“python中字典和集合的常用操作”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python中字典和集合的常用操作”吧!#字典:存多个值,key-value存取,取值速度快,k
2023-06-02

盘点Java集合中集合排序操作的常用方法

本文主要介绍了Collection工具类,Collection常用的排序方法,例如把集合中的元素进行添加、反转、按自然顺序排序、乱序、集合中的元素交换位置

Java LinkedList集合的常用操作和示例

这个示例程序演示了如何创建LinkedList对象,以及如何添加、获取、修改和删除元素。还展示了如何遍历集合,判断集合是否为空,以及获取集合大小等常用操作。

Java ArrayList集合的常用操作和示例

Java提供了丰富的集合框架,包括ArrayList、LinkedList、HashSet、HashMap等。每种集合类都有其特定的用途和适用场景。通过使用集合,我们可以方便地处理和操作数据,提高程序的灵活性和效率。

Redis常用命令之操作Set(集合)

场景Centos中Redis的下载编译与安装(超详细):https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334Redis的启动和关闭(前台启动和后台启动):https://blog
Redis常用命令之操作Set(集合)
2022-04-14

python集合常用操作方法有哪些

本篇内容介绍了“python集合常用操作方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!集合的特性无序、不重复、可迭代常用api创建
2023-07-04

Python 元组和集合的特点及常用操作

一、元组的特点:1、有序的集合2、通过偏移来取数据3、属于不可变的对象,不能在原地修改内容,没有排序,修改等操作。tuple支持的方法很少>>> dir(tuple)['__add__', '__class__', '__contains_
2023-01-31

Elasticsearch 常用的聚合操作

聚合框架有助于基于搜索查询提供聚合数据。它基于称为聚合的简单构建块,可以组合以构建复杂的数据摘要。 Aggregation 简介ps : 本篇文章 Elasticsearch 和 Kibana 版本为 7.10.1。如果版本不一致请查看官方文档,避免误导
Elasticsearch 常用的聚合操作
2021-07-29

git常用的操作命令有哪些

本文小编为大家详细介绍“git常用的操作命令有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“git常用的操作命令有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、使用Git克隆项目右键选择Git Ba
2023-06-27

Python 集合应用:10+个集合操作的实用案例

今天,我们将通过十个实用案例,一步步探索集合的奥秘,让 Python 编程更加得心应手。
Python编程2024-11-28

常用Windows 8操作小技巧集合详细介绍

微软Windows 8操作系统来了,今天我们想和大家分享12则Win8技巧:查询天气、拼写检查、休眠或睡眠。希望对你有所帮助。1、Metro主屏 当用户登录Windows 8系统之后,新的Metro启动屏幕就会出现,上面铺满了瓦片式的程序。
2022-06-04

Java 中的 assign 方法是否可用于集合操作?(Java assign能用于集合操作吗)

在Java编程中,集合是一种常用的数据结构,用于存储和操作一组对象。而assign方法在Java中通常用于对象的赋值操作。那么,Java中的assign方法能否用于集合操作呢?这是一个值得探讨的问题。首先,我
Java 中的 assign 方法是否可用于集合操作?(Java assign能用于集合操作吗)
Java2024-12-19

Git常用的基本操作命令有哪些

这篇文章给大家分享的是有关Git常用的基本操作命令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。git 常用命令1. 常用$ git remote add origin git@github.com:yes
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录