git -- 对远程仓库的操作 -- 查看,添加(与clone对比),抓取和拉取,推送(注意点,抓取更新+合并的三种方法,解决冲突,对比),移除

目录

对远程仓库的操作

介绍

查看 (git remote)

介绍

查看详细信息

[添加(git remote add)](#添加(git remote add))

介绍

[与 git clone对比](#与 git clone对比)

从远程仓库中抓取与拉取

[抓取(git fetch)](#抓取(git fetch))

[拉取(git pull)](#拉取(git pull))

[推送(git push)](#推送(git push))

介绍

注意

抓取更新+合并的方法

[git fetch + git merge](#git fetch + git merge)

解决冲突

[git fetch + git rebase](#git fetch + git rebase)

解决冲突

[git pull](#git pull)

对比

[移除(git remote remove/rm)](#移除(git remote remove/rm))


对远程仓库的操作

介绍

远程仓库是托管在网络中的 Git 仓库

  • 常见的平台有 GitHub、Gitee、GitLab 等
  • 我们可以与远程仓库进行同步、协作开发、备份等操作

查看 (git remote)

介绍

git remote

  • 查看当前 Git 仓库配置的远程仓库名称
  • (默认是origin)

如果添加 -v选项

  • 查看远程仓库名 + 详细 URL(fetch 和 push -- 拉取/推送代码)

查看详细信息

git remote show <remote> 命令 用于显示关于指定远程仓库的详细信息,不仅包括仓库的 URL,还包括一些其他关键的信息

  • 还会列出哪些远程分支 不在你的本地 / 已经从服务器上移除 , 执行 git pull 时,哪些本地分支可以与它跟踪的远程分支自动合并

添加(git remote add)

介绍

git remote add 新名字 地址

  • 给当前本地 Git 仓库 添加一个远程仓库地址,并起一个别名 -- 这样你之后就可以通过这个别名来操作远程仓库,而不用每次都写完整的 URL
  • 核心是添加了一个指向远程仓库的"地址标记",修改了本地仓库的.git/config 文件

与 git clone对比

从远程仓库中抓取与拉取

抓取(git fetch)

git fetch <远程仓库名>把远程仓库的新提交、分支(当前所有还没有 的数据)等内容下载到本地,但不会自动合并或改变你的当前工作分支

需要手动合并

  • 把远程的 origin/main 合并到你当前的分支

拉取(git pull)

git pull <远程名> <分支名>

  • 表示从远程仓库 originmain 分支抓取更新,并合并到你当前所在的分支
  • git fetch + git merge 的快捷方式 -- 从远程抓取最新数据 + 合并当前分支与远程分支

推送(git push)

介绍

当你想要将 master 分支推送到 origin (默认名)服务器时,使用 git push <remote> <branch> 命令可以将你所做的备份到服务器

  • eg: $ git push origin master

注意

成功推送的条件 -- 要有克隆服务器的写入权限 + 之前没有人推送过 (本地是"基于最新的")

  • 如果别人先你一步推送了新的提交,然后你再尝试推送你自己基于旧版本的提交,推送请求会被拒绝

  • 你必须先抓取他们的工作,并将其合并进你的工作后,才能推送

抓取更新+合并的方法

git fetch + git merge
  • 进行分支合并(远端和本地)时,如果你本地有修改过某个文件,而远程也对同一部分进行了修改,Git 无法自动合并,就会发生冲突
解决冲突

执行 git status 来查看哪些文件发生了冲突 -- 未解决的冲突文件标记为 unmerged

  • 也就是删除掉你认为不需要的内容
  • 注意,一定要把冲突标记全部删除 -- 否则Git 会认为你没有解决冲突,文件仍然处于冲突状态
  • 如果想要合并,就把标记删除即可

解决冲突后,使用 git add 将冲突文件标记为已解决,然后就可以进行提交+推送

git fetch + git rebase
  • 如果你本地的某个提交和远程的更新有冲突,Git 会停止 rebase 过程,提示你解决冲突
解决冲突

前面的步骤都是一样的,查看+手动处理+标记为已解决

完成后,继续进行rebase -- 执行 git rebase --continue 继续 rebase 过程

  • 如果还有其他冲突,git会再次停止,你需要重复上述过程,直到无冲突

完成rebase后,即可推送

git pull
对比

移除(git remote remove/rm)

git remote remove/rm

  • 从当前 Git 仓库的配置中移除指定的远程仓库 -- 意味着本地仓库将不再与该远程仓库进行交互 (删除了该远程仓库相关的远程跟踪分支+配置信息)
相关推荐
Ac157ol6 小时前
2025年最新版 Git和Github的绑定方法,以及通过Git提交文件至Github的具体流程(详细版)
git·elasticsearch·github
书山有鹿6 小时前
Git合并分支的两种常用方式`git merge`和`git cherry-pick`
git
spencer_tseng7 小时前
IntelliJ IDEA clean git password
java·git·eclipse·intellij-idea
Pigwantofly10 小时前
Git命令归纳
git
Fishermen_sail11 小时前
如何写 commit message?
git·github
程序猿chen12 小时前
《JVM考古现场(二十三):归零者·重启奇点的终极奥义》
java·jvm·git·后端·程序人生·java-ee·改行学it
半个脑袋儿13 小时前
Git提交修正的核心技巧:git commit --amend 的专业实践与深度解析
git·gitlab
程序猿chen2 天前
JVM考古现场(二十二):降维打击·用二向箔优化内存模型
java·jvm·git·后端·面试·java-ee·跳槽
汤永红2 天前
windows下git bash安装SDKMan报错Looking for unzip...Not found
java·git·sdkman