Git在各种场景下的仓库关联

本文针对Git常见的三种场景:全新工程、本地已有工程、以及其他分支关联,详细的操作命令、流程、作用以及注意事项,Git命令并不受代码托管平台的影响,因此本质上可以通用解决问题

所属分类 工具

相关标签 Git创建仓库

前言

本文直接从Git命令开始。

默认您已经创建好相关远程工程。

默认您已经配置好鉴权账户和密码(建议通过密钥授权)。

Git命令并不受代码托管平台影响,无论是GitHub、Gitee、GitLab均可使用。

本文主要针对开发,也就是说需要关联工程后续且需要提交代码的场景。

全新工程

所谓全新工程是指本地创建了一个目录,里面没有任何内容。

# 在本地新建一个工程文件夹
# 初始化当前项目
git init

# 关联远程仓库
# 其中origin的名字可以而改为其他(一般默认用这个)
# git@gitee.com:mebugs/meals.git是我的地址
# 这一步也可以通过配置文件处理
git remote add origin git@gitee.com:mebugs/meals.git

# 拉取代码
# 如果此时直接git pull会报错
# There is no tracking information for the current branch.
# Please specify which branch you want to merge with.
# See git-pull(1) for details.
#   git pull <remote> <branch>
# If you wish to set tracking information for this branch you can do so with:
# git branch --set-upstream-to=origin/<branch> master
# 这里提示进行本地与远程分支需要先关联
# 因为此时还没有本地分支,正确的流程应该是
# 创建本地分支、与远程分支关联、然后拉取远程分支
# 对于全新工程,可以直接强制拉取并关联
# 通过下方命令完成三件事:
# 创建一个本地master分支、创建远程master分支、拉取代码
git pull origin master

# 设置关联
# 设置关联属于选用操作(但是非常建议执行此操作)
# 如果不设置关联的话,每次pull或push代码需要带上分支名
# 例如:git pull origin master
# 设置关联后,拉取或推送直接输入:git pull/push
git branch --set-upstream-to=origin/master master

/static/upload/post/1645765242340.jpg

已有工程

--allow-unrelated-histories

已有工程表示本地工程已经存在了部分文件。

实际上本地已有工程和全新工程基本是一致的。

# 初始化
git init

# 关联远程仓库
git remote add origin git@gitee.com:mebugs/meals.git

# 拉取代码并合并
# 远程分支和本地分支都有内容,一般在拉取代码时指定 --allow-unrelated-histories
# 表示允许不相关历史提交,并强制合并(但是可能存在合并失败的情况,需要手工处理)
# 一般处理合并建议使用 –rebase生成更好的可读提交记录
git pull origin master --allow-unrelated-histories

# 设置关联
git branch --set-upstream-to=origin/master master

# 如果确定本地作为最新的代码内容
# 可以强制提交代码(一般不建议)
git push --force origin master

关联分支

有时候我们在某个开发阶段会将工程切换到特定的分支。

如dev分支。

# 已经在master分支想切换到dev
# 在本地创建分支dev
# 切换并关联此远程分支
# 下方命令git checkout -b dev(本地分支名) origin/dev(远程分支)
git checkout -b dev origin/dev
# 全新工程直接关联其他分支
# 初始化
git init

# 关联远程仓库
git remote add origin git@gitee.com:mebugs/meals.git

# 拉取远程仓库指定分支的代码
git fetch origin dev

# 在本地创建分支dev
# 切换并关联此远程分支
git checkout -b dev origin/dev

米虫

做一个有理想的米虫,伪全栈程序猿,乐观主义者,坚信一切都是最好的安排!

本站由个人原创、收集或整理,如涉及侵权请联系删除

本站内容支持转发,希望贵方携带转载信息和原文链接

本站具有时效性,不提供有效、可用和准确等相关保证

本站不提供免费技术支持,暂不推荐您使用案例商业化

发表观点

提示

昵称

邮箱

QQ

网址

当前还没有观点发布,欢迎您留下足迹!

同类其他

工具

SoapUI启动报错The JVM could not be started

SoapUI是一款开源的API测试工具,可以轻松构造请求进行API接口测试,启动报错主要由于JVM的性能参数配置有问题,可以修改配置文件解决

eclipse配置编码格式后部分文件依旧乱码

eclipse 中全局配置和项目配置均设置了编码方式为 UTF-8 ,但是实际打开项目文件发现部分文件依旧存在中文乱码,右击查看其编码格式依旧是 GBK ,可通过按照类型配置格式的方式解决此问题

Chrome开发者模式保留访问日志以及过滤请求

Chrome开发者模式下提供了保保留访问日志的能力便于检查历史请求是否正常,同时提供了请求显示过滤器可以方便快速定位您想看的请求记录或过滤掉某些不想显示的请求记录

Xshell6和Xftp6家庭版(Xmanager系列工具)

Xmanager是一个非开源(商用)的实用无缝衔接工具(个人可以获取家庭版),其中最常用的Xshell和Xftp可以非常便捷的在Windows系统下连接Unix环境,是目前市面最好的连接工具,运维工程师必备良品

Beyond Compare 4 无限试用方案

Beyond Compare 强大专业的文件和文件夹对比工具,可以很方便地比较出文件或文件夹的差异,支持众多种格式的对比,支持快速替换,商用软件,默认试用30天(次)+15天,过期后可以进行重复试用。

Git多仓库关联切换与主从同步提交

本文主要介绍 Git 关联多仓库的常见操作,本地分支关联到远程仓库分支后切换到新仓库,本地分支内容推送到主仓库后同步提交到从属仓库,如推送 gitee 同时推送到 github

选择个人头像

昵称

邮箱

QQ

网址

评论提示

  • 头像:系统为您提供了12个头像自由选择,初次打开随机为你选择一个
  • 邮箱:可选提交邮箱,该信息不会外泄,或将上线管理员回复邮件通知
  • 网址:可选提交网址,评论区该地址将以外链的形式展示在您的昵称上
  • 记忆:浏览器将记忆您已选择或填写过得信息,下次评论无需重复输入
  • 审核:提供一个和谐友善的评论环境,本站所有评论需要经过人工审核