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

1.1 Gitee实战

1.1.1 新建Gitee仓库上传代码

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

在这里插入图片描述

开源许可证:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rvnRGoyp-1647008316507)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20220311154440121.png)]

  1. 然后,我们在本地库上使用命令 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初始化本地库:

$ git init  # 初始化本地git库生成.git版本管理文件。

注意:记住所有的git指令都必须在含有.git(隐藏文件)的文件夹下执行,否则git指令会无效。

一般步骤(创建Gitee仓库时没有文件)

$ git remote add 仓库别名 仓库的https地址
$ git push 仓库别名 分支名 

对于创建仓库时有文件且有多个分支时

$ git remote add 仓库别名 仓库的https地址  # 给仓库起别名 
$ git pull 仓库别名 分支名 --allow-unrelated-histories # 由于仓库存在文件需要先push分支然后再拉代码,--allow...表示强制合并分支,对于多个分支适用。
$ git push 仓库别名 分支名  # 将本地库发送到gitee的仓库,第一次一般需要登录。

之后,就可以正常地用 git push 和 git pull 推送了!

如果连接时登录失败可以删除git 认证账户,重新remote :

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SEtUwZ41-1647008316507)(C:\Users\1\AppData\Roaming\Typora\typora-user-images\image-20220311160152203.png)]

如果在使用命令 git remote add 时报错:

$ git remote add origin git@gitee.com:imnoob/runoob-test.git
fatal: remote origin already exists.

这说明本地库已经关联了一个名叫 origin 的远程库,此时,可以先用 git remote -v 查看远程库信息:

$ git remote -v
origin    git@github.com:tianqixin/runoob.git (fetch)
origin    git@github.com:tianqixin/runoob.git (push)

可以看到,本地库已经关联了 origin 的远程库,并且,该远程库指向 GitHub。

我们可以删除已有的 GitHub 远程库:

$ git remote rm origin

再关联 Gitee 的远程库(注意路径中需要填写正确的用户名):

$ git remote add origin git@gitee.com:imnoob/runoob-test.git

此时,我们再查看远程库信息:

$ git remote -v
origin    git@gitee.com:imnoob/runoob-test.git (fetch)
origin    git@gitee.com:imnoob/runoob-test.git (push)

现在可以看到,origin 已经被关联到 Gitee 的远程库了。

通过 git push 命令就可以把本地库推送到 Gitee 上。

有的小伙伴又要问了,一个本地库能不能既关联 GitHub,又关联 Gitee 呢?

答案是肯定的,因为 git 本身是分布式版本控制系统,可以同步到另外一个远程库,当然也可以同步到另外两个远程库。

使用多个远程库时,我们要注意,git 给远程库起的默认名称是 origin,如果有多个远程库,我们需要用不同的名称来标识不同的远程库。

仍然以 runoob-test 本地库为例,我们先删除已关联的名为 origin 的远程库:

$ git remote rm origin

然后,先关联 GitHub 的远程库:

$ git remote add github git@github.com:tianqixin/runoob-git-test.git

注意,远程库的名称叫 github,不叫 origin 了。

接着,再关联 Gitee 的远程库:

$ git remote add gitee git@gitee.com:imnoob/runoob-test.git

同样注意,远程库的名称叫 gitee,不叫 origin。

现在,我们用 git remote -v 查看远程库信息,可以看到两个远程库:

$ git remote -v
gitee    git@gitee.com:imnoob/runoob-test.git (fetch)
gitee    git@gitee.com:imnoob/runoob-test.git (push)
github    git@github.com:tianqixin/runoob.git (fetch)
github    git@github.com:tianqixin/runoob.git (push)

如果要推送到 GitHub,使用命令:

git push 远程库的别名 分支名
git push 远程主机名 本地分支名:远程分支名
例:
$ git push github master

如果要推送到 Gitee,使用命令:

$ git push gitee master

这样一来,我们的本地库就可以同时与多个远程库互相同步:

img

1.1.2 新电脑初次工作

  1. 克隆远程仓库代码
$ git remote add 远程仓库别名 仓库的https地址  # 给远程仓库起别名 
$ git clone 远程仓库的https地址	 # 将远程仓库克隆到本地。

如果在没有.git管理文件的文件夹下克隆Git仓库后,需要切换到下一级文件夹(即含有.git管理文件的文件夹下继续执行git指令。)

  1. 切换到dev分支准备工作
$ git checkout dev
  1. 在公司下载完代码后,继续开发。在dev分支开发完成之后需要commit 到本地库保持进度的更新

    $ git commit -a -m 'dev分支第一次开发完成'
    
  2. 准备递交代码到Gitee上

    $ git pull 远程仓库别名 dev  # 在提交到gitee上之前pull一下最新的代码,防止之前有人提交过dev分支的代码,导致自己push不上去
    修改完合并后的代码
    $ git commit -a -m 'dev分支第一次开发完成'  # 提交dev分支代码到本地库
    $ git push 远程仓库别名 dev  # 将本地库master分支的代码推送到gitee仓库中
    

1.1.3 第二天上班

  1. 切换到dev分支准备工作

    $ git checkout dev
    
  2. 拉代码

    $ git pull 远程仓库别名 dev
    
  3. 继续开发

  4. 提交代码到Gitee上

    $ git pull 远程仓库别名 dev  # 在提交到gitee上之前pull一下最新的代码,防止之前有人提交过dev分支的代码,导致自己push不上去
    修改完合并后的代码
    $ git commit -a -m 'dev分支第一次开发完成'  # 提交dev分支代码到本地库
    $ git push 远程仓库别名 dev  # 将本地库master分支的代码推送到gitee仓库中
    

1.1.4 开发完毕准备上线到主分支

  1. 将本地库的dev分支合并到master分支,并将master分支推送到Gitee上

    $ git commit -a -m 'dev分支的功能开发完成'  # 提交dev分支代码到本地库
    $ git checkout master  # 从dev分支切换到master分支,dev开发的文件都会消失,所以需要提前在dev分支上commit。记住所有的checkout之前一定要commit(等价于Ctrl+s)代码,防止代码丢失。
    $ git merge dev  # 在master分支上合并dev分支,合并完成后需要自行解决冲突
    $ git pull 远程仓库别名 master  # 在提交到gitee上之前pull一下最新的代码,防止之前有人提交过master分支的代码,导致自己push不上去
    修改完合并后的代码
    $ git commit -a -m 'merge分支开发完成'  # 提交merge分支代码到本地库
    $ git push 远程仓库别名 master  # 将本地库master分支的代码推送到gitee仓库中
    
  2. 把dev分支也推送到远程

    $ git checkout dev  # 从master分支切换到dev分支,此处紧跟上步操作,刚刚commit了master分支,所以此处可以不commit。
    $ git merge master  # 在dev分支上合并master分支,因为需要保持master与dev分支的同步,所以在两个分支上都需要分别做merge操作。
    $ git pull 远程仓库别名 dev  # 在提交到gitee上之前pull一下最新的代码,防止之前有人提交过master分支的代码,导致自己push不上去
    修改完合并后的代码
    $ git commit -a -m 'dev分支开发完成'  # 提交dev分支代码到本地库
    $ git push 远程仓库别名 dev  # 将本地库dev分支的代码推送到gitee仓库中
    
posted @ 2022-08-29 20:05  司徒小夜  阅读(287)  评论(0编辑  收藏  举报