【Git】常用的Git操作集合

这篇具有很好参考价值的文章主要介绍了【Git】常用的Git操作集合。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 分支操作

1.1 查看本地所有分支

git branch

【Git】常用的Git操作集合,git,github,gitlab

* 标识的分支就是当前代码所在的分支,图示表明当前在 develop 分支。

1.2 查看所有分支(包含本地+远程仓库)

git branch -a

【Git】常用的Git操作集合,git,github,gitlab

1.3 切换分支

git checkout test

切换到本地的test分支。

【Git】常用的Git操作集合,git,github,gitlab

git checkout origin master: 切换到远程仓库的master分支。

2. 常用基本操作

2.1 查看 git 各存储区内(文件)状态

git status

【Git】常用的Git操作集合,git,github,gitlab

2.2 查看工作区与暂存区文件差异

git diff

【Git】常用的Git操作集合,git,github,gitlab

git diff 命令还可以通过指定HEAD指针、版本、文件名等进行更具体的比较。

2.3 临时存储/取消临时存储

有时,在开发过程中,需要切换分支改BUG,但是当前功能又没开发完,也不适合提交,此时就可以将当前修改临时存储起来,切换分支后再去改BUG。

git stash

我们先使用git status看下git各区域的变更状态:

【Git】常用的Git操作集合,git,github,gitlab

然后,我们执行git stash 命令后再执行git status观察下git各区域变更状态:

【Git】常用的Git操作集合,git,github,gitlab
可以看到,差异只是在工作区,git stash 命令,将工作区的修改隐藏了,临时存储在一个特殊容器里面。

git stash pop

git stash pop命令取消git stash操作,将隐藏的对工作区内的修改进行复原。

【Git】常用的Git操作集合,git,github,gitlab

2.4 查看 git 记录

git log

输入git log 命令会进入一个git提交记录显示窗口,可以上下翻页查找,输入q退出。
【Git】常用的Git操作集合,git,github,gitlab
【Git】常用的Git操作集合,git,github,gitlab

git log --oneline

跟上面的功能一样,只是显示的信息更加的简约、紧凑,我个人更喜欢这样用。
【Git】常用的Git操作集合,git,github,gitlab

3. 撤销操作

3.1 撤销add

git reset <fileName>

撤销已经从工作区添加到暂存区,但是还没commit的文件。

【Git】常用的Git操作集合,git,github,gitlab
我们可以看到,执行git reset 命令之后,已经add的文件又从暂存区回到了工作区。
我们也可以执行git reset . 取消所有在暂存区文件的add操作。

3.2 撤销commit

git reset --soft HEAD^

撤销commit操作,但是不撤销add操作。

【Git】常用的Git操作集合,git,github,gitlab
可以看到,执行完git reset --soft HEAD^命令之后,已提交的修改回到了暂存区。

git reset --mixed HEAD^

撤销commit操作,同时撤销add操作,但是将修改保留在工作区。

【Git】常用的Git操作集合,git,github,gitlab
可以看到,执行完git reset --mixed HEAD^命令之后,已提交的修改回到了工作区。

git reset --hard HEAD^

撤销commit操作,并撤销add操作,同时工作区也不保留修改。

【Git】常用的Git操作集合,git,github,gitlab
【Git】常用的Git操作集合,git,github,gitlab

可以看到,执行完git reset --hard HEAD^命令之后,已提交的修改没了,最新的commit也没了。

git reset --hard HEAD~n

撤销最近n次的commit操作,并撤销add操作,同时工作区也不保留修改。
可以根据我们的需求选择--hard, --soft 或者 --mixed选项,下面我们以n取2为例。
【Git】常用的Git操作集合,git,github,gitlab
可以看到,执行完该命令后,我们提交的最新的2个commit完全消失了。

3.3 撤销push到远程仓库的commit

撤销push到远程仓库的commit的操作可分为以下3步:

3.3.1 先确定要取消的commit

git log --oneline
确定哪几个commit需要取消。

【Git】常用的Git操作集合,git,github,gitlab
现在我要取消最新的2个commit,让commit哈希值为bd04cbb的commit成为最新的commit。

3.3.2 取消本地仓库commit

git reset --soft <commitId>
我们的commitId值取上一步确定的值,执行命令,结果如下。可以看到最新的2个commit记录没了。

根据我们的需求,--soft 选项也可以换成--hard 或者 --mixed,具体区别见3.2.

【Git】常用的Git操作集合,git,github,gitlab

3.3.3 将本地仓库的更改同步到远程仓

git push origin <branchName>
此处branchName选择本地分支对应的远端分支,将对本地仓内该分支的修改同步到远程仓库。

--force 选项也可以直接简写成 -f

【Git】常用的Git操作集合,git,github,gitlab

4. 合并 commit

4.1 确定要合并的commit的前一个commitId 值

使用git log --oneline 确定那些commit需要合并,我们这里要合并前2个commit。因此,我们要取第3个commitID为bd04cbb的值。

【Git】常用的Git操作集合,git,github,gitlab

4.2 执行 git rebase -i <commitId> 命令

这里的 <commitId> 为上一步确定的 bd04cbb

【Git】常用的Git操作集合,git,github,gitlab
执行完该命令进入到一个vim编辑界面:

【Git】常用的Git操作集合,git,github,gitlab
在前面未注释的部分的行首,我们只保留第一行的pick,其他行都改为s(代表squash,表示对应的commit被压缩)。退出编辑模式,输入wq! 保存退出。进入另一个vim 编辑框如下。该编辑框的内容为要合并的所有commit的message,我们现在需要将所有的commit message合并为一个。

【Git】常用的Git操作集合,git,github,gitlab
修改如下后保存退出。
【Git】常用的Git操作集合,git,github,gitlab

4.3 执行 git log 命令查看commit合并情况

此时我们使用git log 命令查看可以看到原来的2个commit已经被合并为一个新的commit。
【Git】常用的Git操作集合,git,github,gitlab

5. 将已提交的commit修改复制到另一个分支上

我们在上一步在 test 分支提交了一个 commit(添加注释)。
此时我们切换到了 develop 分支上,现在我们要把在 test 分支上的改动,复制到 develop 分支上,此时我们就需要使用 cherry-pick 命令。

5.1 使用 cherry-pick 复制单个commit

git cherry-pick <commitId>

我们当前在 develop 分支上,对test分支上的commitId 为e5ac3d4 的commit 进行 cherry-pick

【Git】常用的Git操作集合,git,github,gitlab
我们从上图可以看到,其它分支上的修改被复制了过来,在develop分支上产生的新commit有新的commitId。

5.2 使用 cherry-pick 复制多个commit

git cherry-pick <commitId1> <commitId2> ...

我们现在在develop分支上,想把该分支上最新的2个commit复制到test分支上(3个及以上个commit也是同理)。

【Git】常用的Git操作集合,git,github,gitlab
先切换到test分支上,在test分支上执行命令git cherry-pick a313ca3 9b2284e

【Git】常用的Git操作集合,git,github,gitlab
此时,我们再来看下commit 日志,看到多个commit已经被复制到test分支:

【Git】常用的Git操作集合,git,github,gitlab文章来源地址https://www.toymoban.com/news/detail-812404.html

到了这里,关于【Git】常用的Git操作集合的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GIT常用操作整理(从本地创建仓库到提交到GitHub全流程)学习笔记

    1. 本体和插件下载 官网: GIT Download下载 安装过程中一路默认即可。 终端输入 查看git安装是否成功。 (可选)然后下载一个 Git 状态显示到 powershell 中的非常好用插件,posh-Git(windows): 用管理员身份打开 powershell ,之后输入 重启 powershell 初始化仓库的文件位置会加一个

    2024年04月28日
    浏览(49)
  • Git GitHub GitLab

    1、Git Git是一个开源的分布式版本控制系统,是一种工具软件,用于代码的存储和版本控制。 2、GitHub GitHub是一个基于Git实现的代码托管平台,一般开源的代码放在github,程序员能够在这互相交流学习,公司代码不会放在这上面。 3、GitLab GitLab也是一个基于Git实现的代码托管

    2024年02月09日
    浏览(51)
  • Git、Gitee、Github、Gitlab区别与 Git搭建

    Git: 本地软件,无需联网即可使用,实现 本地代码 的管理。         分布式版本控制系统,是一种工具,用于代码的存储和版本控制。         将 本地文件 通过一定的操作将其同步上传到 Github或Gitee Gitee :是一家中国公司, GitHub 相当于 云服务器 ,这个云服务器是国外

    2024年02月11日
    浏览(44)
  • Git、GitHub和GitLab的区别

    Git官网 Git 是一个 分布式 的版本控制系统。 版本控制系统 是一种用于记录一个或多个文件内容变化,方便查阅特定版本修订情况的系统。 没有使用版本控制系统之前,如果需要记录同一份文件不同版本的修改,可能会以“file_v1”、“file_v2”、“file_v3”等命名方式来保存不

    2024年02月04日
    浏览(36)
  • Git同时配置Github和Gitlab

    电脑的git需要同时管理Github上自己的代码仓库和Gitlab的公司的代码仓库,所以记录同时配置两者的步骤。 第一步、清除已有的全局配置(我之前只有github的配置) git config --global --unset user.name git config --global --unset user.email 第二步、分别生成两个SSH Key,注意要命名成不同的名

    2024年02月01日
    浏览(35)
  • Git详解及 github与gitlab使用

    目录 1.1 关于版本控制 1.1.1 本地版本控制 1.1.2 集中化的版本控制系统 1.1.3 分布式版本控制系统 1.2 Git简介 1.2.1 Git历史 1.3 安装git 1.3.1 环境说明 1.3.2 Yum安装Git 1.3.3 编译安装 1.4 初次运行 Git 前的配置 1.4.1 配置git 1.4.2 获取帮助 1.5 获取 Git 仓库(初始化仓库) 1.5.1 创建裸库 1.

    2024年02月22日
    浏览(39)
  • 版本控制器git、github、gitlab

            Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。官方地址:Git (git-scm.com)         GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub。         GitHub是一个

    2024年02月01日
    浏览(64)
  • git,github ,gitlab,码云的区别

    git是一个开源的分布式版本控制系统,用来高效敏捷地处理大小项目。 开发者: Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper 版本控制:记录一个或多个文件内容的变化,方便

    2024年02月16日
    浏览(46)
  • IDEA 集成 Git、Github、Gitee、GitLab

    Git 概述 Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。 Git 易于学习,占地面积小,性能极快。 它具有廉价的本地库,方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。

    2024年02月05日
    浏览(55)
  • 【通俗易懂】git原理、安装及连接gitlab,github

    目录 一、GIT原理【这部分也挺简单,可以看看,如果没时间可以直接跳到第二部分】 SVN与Git的的区别 二、安装Git   2.1 获取Git安装程序 2.2 Git安装过程 三、Git连接Gitlab 3.1 gitlab准备工作 3.2 本地计算机准备工作及配置git   四、Git连接Github Git 是一种分布式版本控制系统,用

    2024年02月22日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包