Gitee教程实战(企业级) 包含详细的出错解释

莱莱  金牌会员 | 2022-9-17 07:27:35 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 780|帖子 780|积分 2340

1.1 Gitee实战

1.1.1 新建Gitee仓库上传代码


  • 首先,需要注册Gitee账号,并创建远程仓库,然后再执行如下命令,将代码上传到GitHub.

开源许可证:


  • 然后,我们在本地库上使用命令 git remote add 把它和 Gitee 的远程库关联:
  对于没有本地库的小伙伴可以安装好Git工具(详见:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git
在本地选择一个文件夹,右键 》 Git Bash Here 进入指令窗口。
使用git init初始化本地库:
  1. $ git init  # 初始化本地git库生成.git版本管理文件。
复制代码
注意:记住所有的git指令都必须在含有.git(隐藏文件)的文件夹下执行,否则git指令会无效。
一般步骤(创建Gitee仓库时没有文件)
  1. $ git remote add 仓库别名 仓库的https地址
  2. $ git push 仓库别名 分支名
复制代码
对于创建仓库时有文件且有多个分支时
  1. $ git remote add 仓库别名 仓库的https地址  # 给仓库起别名
  2. $ git pull 仓库别名 分支名 --allow-unrelated-histories # 由于仓库存在文件需要先push分支然后再拉代码,--allow...表示强制合并分支,对于多个分支适用。
  3. $ git push 仓库别名 分支名  # 将本地库发送到gitee的仓库,第一次一般需要登录。
复制代码
之后,就可以正常地用 git push 和 git pull 推送了!
如果连接时登录失败可以删除git 认证账户,重新remote :

如果在使用命令 git remote add 时报错:
  1. $ git remote add origin git@gitee.com:imnoob/runoob-test.git
  2. fatal: remote origin already exists.
复制代码
这说明本地库已经关联了一个名叫 origin 的远程库,此时,可以先用 git remote -v 查看远程库信息:
  1. $ git remote -v
  2. origin    git@github.com:tianqixin/runoob.git (fetch)
  3. origin    git@github.com:tianqixin/runoob.git (push)
复制代码
可以看到,本地库已经关联了 origin 的远程库,并且,该远程库指向 GitHub。
我们可以删除已有的 GitHub 远程库:
  1. $ git remote rm origin
复制代码
再关联 Gitee 的远程库(注意路径中需要填写正确的用户名):
  1. $ git remote add origin git@gitee.com:imnoob/runoob-test.git
复制代码
此时,我们再查看远程库信息:
  1. $ git remote -v
  2. origin    git@gitee.com:imnoob/runoob-test.git (fetch)
  3. origin    git@gitee.com:imnoob/runoob-test.git (push)
复制代码
现在可以看到,origin 已经被关联到 Gitee 的远程库了。
通过 git push 命令就可以把本地库推送到 Gitee 上。
有的小伙伴又要问了,一个本地库能不能既关联 GitHub,又关联 Gitee 呢?
答案是肯定的,因为 git 本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。
使用多个远程库时,我们要注意,git 给远程库起的默认名称是 origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。
仍然以 runoob-test 本地库为例,我们先删除已关联的名为 origin 的远程库:
  1. $ git remote rm origin
复制代码
然后,先关联 GitHub 的远程库:
  1. $ git remote add github git@github.com:tianqixin/runoob-git-test.git
复制代码
注意,远程库的名称叫 github,不叫 origin 了。
接着,再关联 Gitee 的远程库:
  1. $ git remote add gitee git@gitee.com:imnoob/runoob-test.git
复制代码
同样注意,远程库的名称叫 gitee,不叫 origin。
现在,我们用 git remote -v 查看远程库信息,可以看到两个远程库:
  1. $ git remote -v
  2. gitee    git@gitee.com:imnoob/runoob-test.git (fetch)
  3. gitee    git@gitee.com:imnoob/runoob-test.git (push)
  4. github    git@github.com:tianqixin/runoob.git (fetch)
  5. github    git@github.com:tianqixin/runoob.git (push)
复制代码
如果要推送到 GitHub,使用命令:
  1. git push 远程库的别名 分支名
  2. git push 远程主机名 本地分支名:远程分支名
  3. 例:
  4. $ git push github master
复制代码
如果要推送到 Gitee,使用命令:
  1. $ git push gitee master
复制代码
这样一来,我们的本地库就可以同时与多个远程库互相同步:

1.1.2 新电脑初次工作


  • 克隆远程仓库代码
  1. $ git remote add 远程仓库别名 仓库的https地址  # 给远程仓库起别名
  2. $ git clone 远程仓库的https地址         # 将远程仓库克隆到本地。
复制代码
如果在没有.git管理文件的文件夹下克隆Git仓库后,需要切换到下一级文件夹(即含有.git管理文件的文件夹下继续执行git指令。)

  • 切换到dev分支准备工作
  1. $ git checkout dev
复制代码

  • 在公司下载完代码后,继续开发。在dev分支开发完成之后需要commit 到本地库保持进度的更新
    1. $ git commit -a -m 'dev分支第一次开发完成'
    复制代码
  • 准备递交代码到Gitee上
    1. $ git pull 远程仓库别名 dev  # 在提交到gitee上之前pull一下最新的代码,防止之前有人提交过dev分支的代码,导致自己push不上去
    2. 修改完合并后的代码
    3. $ git commit -a -m 'dev分支第一次开发完成'  # 提交dev分支代码到本地库
    4. $ git push 远程仓库别名 dev  # 将本地库master分支的代码推送到gitee仓库中
    复制代码
1.1.3 第二天上班


  • 切换到dev分支准备工作
    1. $ git checkout dev
    复制代码
  • 拉代码
    1. $ git pull 远程仓库别名 dev
    复制代码
  • 继续开发
  • 提交代码到Gitee上
    1. $ git pull 远程仓库别名 dev  # 在提交到gitee上之前pull一下最新的代码,防止之前有人提交过dev分支的代码,导致自己push不上去
    2. 修改完合并后的代码
    3. $ git commit -a -m 'dev分支第一次开发完成'  # 提交dev分支代码到本地库
    4. $ git push 远程仓库别名 dev  # 将本地库master分支的代码推送到gitee仓库中
    复制代码
1.1.4 开发完毕准备上线到主分支


  • 将本地库的dev分支合并到master分支,并将master分支推送到Gitee上
    1. $ git commit -a -m 'dev分支的功能开发完成'  # 提交dev分支代码到本地库
    2. $ git checkout master  # 从dev分支切换到master分支,dev开发的文件都会消失,所以需要提前在dev分支上commit。记住所有的checkout之前一定要commit(等价于Ctrl+s)代码,防止代码丢失。
    3. $ git merge dev  # 在master分支上合并dev分支,合并完成后需要自行解决冲突
    4. $ git pull 远程仓库别名 master  # 在提交到gitee上之前pull一下最新的代码,防止之前有人提交过master分支的代码,导致自己push不上去
    5. 修改完合并后的代码
    6. $ git commit -a -m 'merge分支开发完成'  # 提交merge分支代码到本地库
    7. $ git push 远程仓库别名 master  # 将本地库master分支的代码推送到gitee仓库中
    复制代码
  • 把dev分支也推送到远程
    1. $ git checkout dev  # 从master分支切换到dev分支,此处紧跟上步操作,刚刚commit了master分支,所以此处可以不commit。
    2. $ git merge master  # 在dev分支上合并master分支,因为需要保持master与dev分支的同步,所以在两个分支上都需要分别做merge操作。
    3. $ git pull 远程仓库别名 dev  # 在提交到gitee上之前pull一下最新的代码,防止之前有人提交过master分支的代码,导致自己push不上去
    4. 修改完合并后的代码
    5. $ git commit -a -m 'dev分支开发完成'  # 提交dev分支代码到本地库
    6. $ git push 远程仓库别名 dev  # 将本地库dev分支的代码推送到gitee仓库中
    复制代码

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莱莱

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表