0%

Git常用版本控制指令

branch

git clone 获取指定分支

1
git clone -b <分支名> <仓库地址>

查看全部分支

1
git branch -a

将本地分支与远程同名分支相关联

1
git push -u origin <本地分支名>

创建本地分支

1
git checkout -b <本地分支名>

拉取指定的某一个分支

1
git checkout -b <本地分支名> origin/<远程分支名>

该命令的作用是:checkout 远程仓库 origin 的分支“dev”,在本地起名为“dev”分支,并切换到本地的“dev”分支。

拉取该分支的最新代码

1
git pull origin dev

pull

将远程指定分支拉取到本地指定分支上

1
git pull origin <远程分支名>:<本地分支名>

将远程指定分支拉取到本地当前分支上

1
git pull origin <远程分支名>

将与本地当前分支同名的远程分支拉取到本地当前分支上,需先关联远程分支。

1
git pull

git 强制覆盖本地命令

1
2
git fetch --all
git reset --hard origin/master

push

将本地当前分支推送到远程指定分支上

1
git push origin <本地分支名>:<远程分支名>

将本地当前分支推送到与本地当前分支同名的远程分支上

1
git push origin <本地分支名>

将本地当前分支推送到与本地当前分支同名的远程分支上,需先关联远程分支

1
git push

删除远端 commit

先删除本地的几次提交,"HEAD~1"里面的 1 代表撤回几次提交

1
git reset --soft HEAD~1

然后强制性将本地覆盖性的提交到远端,达到删除的目的,"branchname"是你的分支名称

1
git push origin branchname --force

merge

切换到main分支:首先确保你当前在main分支上。

1
git checkout main

拉取最新的main分支代码:确保你的main分支是最新的。

1
git pull origin main

合并dev分支:将dev分支合并到main分支上。

1
git merge dev

如果有冲突发生,在合并过程中 Git 会提示你进行解决。你需要手动解决冲突,并提交合并后的结果。

推送到远程仓库:合并完成后,将更新的main分支推送到远程仓库。

1
git push origin main

pull 和 fetch

git pull​ 和 git fetch​ 都是用于从远程仓库获取更新的命令,但它们的作用和使用场景有所不同。

​git fetch​

git fetch​ 从远程仓库下载所有分支的最新提交,但不会修改你当前的工作目录。它只是将这些更新存储在你的本地仓库中。你需要手动合并或检查这些更新。

使用场景:

  • 想要查看远程仓库的最新状态,而不影响本地的代码。
  • 在进行 git rebase​ 或 git merge​ 前,先获取最新的提交信息。
1
git fetch

​git pull​

git pull​ 是一个高层次的命令,它实际上是 git fetch​ 和 git merge​ 的组合。它从远程仓库获取最新的提交,并自动将这些更新合并到你当前的分支中。

使用场景:

  • 想要快速更新你当前分支的代码,使之与远程分支保持同步。
  • 对于非协作性的开发,想要快速获取并应用最新的更改。
1
git pull

比较

  • 获取更新的方式

    • git fetch​ 只下载更新,不改变当前分支。
    • git pull​ 下载更新并自动合并到当前分支。
  • 控制程度

    • git fetch​ 提供了更多的控制权,可以手动查看和合并更新。
    • git pull​ 简化了流程,但可能会引起自动合并冲突。
  • 使用场景

    • git fetch​ 更适合在需要精细控制合并过程的情况下使用。
    • git pull​ 适合在需要快速同步并更新当前分支时使用。

在实际使用中,建议先使用 git fetch​ 查看更新,然后再决定是否以及如何合并这些更新。这样可以避免不必要的合并冲突和问题。

如果此文章能给您带来小小的工作效率提升,不妨小额赞助我一下,以鼓励我写出更好的文章!