都2019了,不要再说你git操作只会add、commit、push和pull 了。

Git操作深度解析:重置、合并与远程分支管理
本文介绍了Git的高级操作,包括reset的妙用,如何重命名远程分支,以及何时使用rebase代替merge。通过理解hash算法和Git的文件快照,开发者可以更好地管理本地和远程分支,确保代码版本控制的优雅与高效。

前言

  Git是一个我们最常使用用代码管理工具,它的命令操作快速而又优雅,分支开发特性形成的独特git工作流模式也非常符合实际工作开发需求。这篇文章用于整理汇总我在实际工作过程中遇到的分支操作处理情况。

  整理前汇总几个概念:

  1. hash算法
      hash算法是一个开源的文件加密算法,它的特性在于不管多大文件的输入,文件在没有变动的情况下,总是得到相同的输出。而文件只要变动一点,它得出的hash值就完全不同。hash 算法具有不可逆性。Git 当中使用 hash 算法作为 git 的 文件变动commit成的快照的版本标识。

  2. git的分支commit 的操作实质上是对**文件快照(snapshot)**的处理
      我们在工作区的 add&commit 操作,本质上是保存了当前文件的一组快照。我们所做的分支切换改变工作区内容,本质上是移动本地的HEAD指针指向快照的位置,从而复现不同的工作区内容。
    git三区交互

  3. 本地与远程 HEAD 和 origin
      前文提过,分支的本地移动,实质上是移动 git 文件当中的 HEAD 指针指向文件的快照。所以HEAD所代表的的就是本地的当前操作的分支。我们经常操作过程中提到的 origin 实际上是本地 git 文件关联的远程仓库的昵称。origin是你在关联远程仓库时候没有起名字时git默认的名称。因此再使用 git fetch origin/master 意思就是拉取 git 关联的名为 origin 远程仓库下面的master分支到本地。可以使用git remote来查看本地所关联的远程仓库别名。

<

以下是对 `git clone`、`git add`、`git commit`、`git pull`、`git push` 这些命令作用的介绍: ### `git clone` `git clone` 用于从远程服务器上克隆一个项目到本地。如果服务器上已经存在项目,可使用该命令将项目完整地复制到本地进行开发使用。例如,若要将服务器上的项目克隆到本地,可执行如下命令: ```bash git clone <远程仓库地址> ``` 这里的 `<远程仓库地址>` 可以是 `https` 或 `ssh` 形式的仓库地址[^2]。 ### `git add` `git add` 命令的作用是将本地文件添加到暂存区。在对本地文件进行修改后,使用该命令可以把修改的文件标记为待提交状态。例如,要将当前目录下的 `a.txt` 文件添加到暂存区,可执行: ```bash git add a.txt ``` 若要添加当前目录下的所有文件,可使用: ```bash git add . ``` [^2][^3] ### `git commit` `git commit` 用于提交暂存区的更改到本地仓库。当使用 `git add` 将文件添加到暂存区后,使用该命令可以把暂存区的内容保存为一个新的提交记录。通常会加上 `-m` 参数来添加提交信息,说明此次提交的内容。例如: ```bash git commit -m "本次提交的说明信息" ``` 这样就将暂存区的更改保存到了本地仓库,并附带了相应的提交说明[^2][^3]。 ### `git pull` `git pull` 命令用于从远程仓库拉取最新的更改,并将其合并到本地当前分支。当远程仓库有新的提交时,使用该命令可以将这些更改同步到本地。其基本用法为: ```bash git pull <远程仓库名> <分支名> ``` 例如,从名为 `origin` 的远程仓库的 `master` 分支拉取更改: ```bash git pull origin master ``` 如果不指定分支名,默认拉取当前分支的最新更改[^1]。 ### `git push` `git push` 用于将本地仓库的更改推送到远程仓库。当在本地进行了一系列的提交后,使用该命令可以将这些提交同步到远程仓库。基本命令格式为: ```bash git push <远程仓库名> <分支名> ``` 例如,将本地的 `master` 分支推送到名为 `origin` 的远程仓库: ```bash git push origin master ``` 若要推送所有的标签,可以使用 `git push --tags` 命令[^2][^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值