祗疼妳一个 发表于 2022-9-17 07:26:01

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

1.1 Gitee实战

1.1.1 新建Gitee仓库上传代码


[*]首先,需要注册Gitee账号,并创建远程仓库,然后再执行如下命令,将代码上传到GitHub.
https://img-blog.csdnimg.cn/b7f30e8b8cdb42818eff1b5667a87860.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-45b6S5bCP5aSc,size_20,color_FFFFFF,t_70,g_se,x_16
开源许可证:
https://img-blog.csdnimg.cn/6d45faf3ea154c4ebd101b5233765dda.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-45b6S5bCP5aSc,size_20,color_FFFFFF,t_70,g_se,x_16

[*]然后,我们在本地库上使用命令 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 :
https://img-blog.csdnimg.cn/430608505a45409fb10f3bb2411e3678.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5Y-45b6S5bCP5aSc,size_20,color_FFFFFF,t_70,g_se,x_16
如果在使用命令 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 这样一来,我们的本地库就可以同时与多个远程库互相同步:
https://img-blog.csdnimg.cn/img_convert/e07844fd266a78140f97309e5e6a58fe.png
1.1.2 新电脑初次工作


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

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


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


[*] 将本地库的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仓库中
[*] 把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仓库中

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: Gitee教程实战(企业级) 包含详细的出错解释