Git3️⃣远程仓库 & 分支
1、代码托管平台
- GitHub:国外的面向开源及个人项目的托管平台,仅支持 Git 版本库格式。
- Gitee:相比 GitHub,位于国内,且支持 Git 和 SVN。
- GitLab:通常用于搭建企业内部代码托管平台。
1.1、创建远程仓库
- 注册账号
- 创建远程仓库
1.2、配置 SSH 公钥(❗)
Hint
-
前置操作:已配置本地 Git 的用户名和邮箱(👉 Git 2.3.2)。
-
作用:使本地仓库获得访问远程仓库的权限,否则本地操作远程仓库时会报错
Permission denied
。Permission denied(publickey). fatal: Could not read from remote repository. Please make sure you have the correce access rights and the repository exitsrs.
步骤:进入
Git bash
-
查看密钥:位于
用户目录\.ssh
,没有该目录说明尚未生成密钥。ls ~/.ssh
-
生成公钥:不断回车即可。
ssh-keygen -t rsa
-
配置公钥:添加公钥内容(
id_isa.pub
)。 -
确认配置成功:在本地执行,提示成功信息即可。
# 格式 ssh -T git@地址 # 示例 ssh -T git@github.com ssh -T git@gitee.com ssh -T git@bitbucket.org
2、远程仓库
2.1、remote(❗)
远程仓库操作
-
查看:
git remote
-
添加:将已初始化的本地仓库与远程仓库关联。
-
远端仓库名称:通常是
origin
,取决于服务器设置。 -
仓库路径:通常是
SSH
连接,也可以是HTTP
。git remote add <远程仓库名> <仓库路径>
-
-
删除:通常与 add 结合,修改远程仓库路径。
git remote remove <远程仓库名>
2.2、clone
Hint:通常只会在首次参与项目开发时进行 clone 操作。
-
仓库路径:通常是
SSH
连接,也可以是HTTP
。 -
本地目录:克隆仓库的本地保存路径,可省略。
git clone <仓库路径> [本地目录]
3、远程分支(❗)
git branch -vv
:查看本地分支与远程分支的关联关系。
3.1、push
推送:将本地代码推送到远程仓库。
-
-f:强制覆盖。
-
--set-upstream:推送时建立关联关系。
-
仓库信息:
-
若本地与远程分支名相同,可省略远程分支名。
-
若已建立关联关系,可省略仓库名称和分支名。
git push [-f] [--set-upstream] [远端仓库名称 [本地分支名][:远程分支名] ]
-
示例
# 建立关联关系
git push origin dev:dev
# 分支名相同:省略远程分支名
git push origin dev
# 已建立关联关系:省略仓库信息
git push
3.2、fetch & pull
3.2.1、拉取
将远程仓库的更新拉取到本地,合并后才会出现在本地仓库。
-
fetch:拉取不合并,需手动 merge。
# 指定分支 git fetch [远程仓库名] [分支名] # 所有分支 git fetch
-
pull:拉取且合并,相当于 fetch + merge。
# 指定分支 git fetch [远程仓库名] [分支名] # 拉取所有分支,更新当前分支 git fetch
3.2.2、冲突处理
- 远程分支的合并:先 fetch 后 merge,本质上是对本地分支的合并。
- 冲突处理方式:见 👉 本地仓库 3.3.3
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律