📖Git如何完成远程与本地仓库的关联关系

发布: 2015-12-25
热度: 41
趋势: 41
权重: 0
🎯

本文针对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

SC-60-gitderes1.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
当前文章暂无讨论,留下脚印吧!
大纲
  • 前言
  • 全新工程
  • 已有工程
  • 关联分支
    • 直接切换
    • 全新创建关联
提交成功,请等待审核通过后全面展示!

发表评论

昵称
邮箱
链接
签名
评论

温馨提示:系统将通过浏览器临时记忆您曾经填写的个人信息且支持修改,评论提交后仅自己可见,内容需要经过审核后方可全面展示。

选择头像