8 常用的托管服务(远程仓库)
在前面介绍了 Git 的工作流程,
只提到了本地仓库、暂存区和工作区,但没有提到远程仓库。
GitLab 与前面两个不一样,需要自己部署。企业中一般使用 GitLab,因为 GitHub 和码云是将代码放到别人的服务器上,因此安全性得不到保证,所以一般开源的代码和项目放在 GitHub 和码云。
这里介绍码云。
9 码云
1、注册好码云并登录进去。
2、创建一个远程仓库。
3、配置 SSH 公钥
将我们本地的代码推送到码云仓库中,是需要验证的,可以使用登录码云时的用户名和密码,也可以使用公私钥对,更多使用的是后者,因此,在此之前,还要注册下公私钥对。
更具体的操作步骤如下,
在本地仓库中使用
进入控制行命令界面,输入命令(其中的 rsa 代表非对称加密方式)
ssh-keygen -t rsa
后回车,之后继续回车。
这样公钥就生成了。
那如何查看生成的公钥呢?
输入命令
cat ~/.ssh/id_rsa.pub
后回车,上图所显示出来的就是生成的完整公钥。
之后在 码云 上添加公钥,目的是使用SSH公钥可以让你在你的电脑和 Gitee 通讯的时候保持安全连接(Git的Remote要使用SSH地址),
最后,输入命令
ssh -T git@gitee.com
验证配置是否成功。
这样就可以了。
4、操作远程仓库
4.1、打开创建好的远程仓库
一般情况下,一个本地仓库只对应一个远程仓库,但也有一个本地仓库对应多个远程仓库的场景。
4.2、将本地仓库推到远程仓库
首先,告诉本地仓库,远程仓库是哪一个,然后进行绑定。操作方法是,
$ git remote add origin git@gitee.com:chantui/xxx.git
代码意思是,我要添加一个远程仓库,这个远程仓库的名字是 origin (origin 是给远程仓库起的名字,大家都这么用,也没有必要改动),地址是 git@gitee.com:xxx.git
之后,回车。
下面,再来测试下,当前是否成功添加远程仓库,使用指令
git remote
这说明成功添加了。
最后,将本地代码同步到远程仓库,使用指令
git push origin master
注意,上图中的提示信息,意思是第一次提交会出现这种情况,因为当前远程仓库中就没有任何分支。后面操作就不会出现这种情况了。
此时,再刷新下网页,就可以看到已经推上去了。
下面,再来详细的说一下推送到远程仓库中的指令
例子:1、如果远端分支名和本地分支名相同,则可以只写本地分支
2、参数 -f 的含义
-f 是强制覆盖,如果本地的代码和云端的代码修改了同一个东西,此时就会有冲突,git 就会不让本地的推送,如果此时加上参数 -f ,意思就是说,不管云端改了什么,就以我当前的为准,即强制覆盖。
3、参数 --set-upstream
参数 --set-upstream 可以建立起和远端分支的关联关系。
4、查看远程分支和本地分支的对应关系
git branch -vv
下次再推送代码时,就不需要再加上面说的那些参数了。
4.3、从远程仓库克隆
如果本地目录省略,克隆下来的仓库会默认取路径中最后面的名称作为文件名。
具体操作如下,在桌面上打开
然后,这里不指定本地目录(克隆下来的仓库文件会在 Git Bash 所打开的文件下生成,因为这里是在桌面打开的,所以克隆下来的仓库会在桌面上显示)
git clone git@gitee.com:chantui/git_-python.git
4.4、从远程仓库中抓取和拉取
不指定远端名称和分支名称,就默认是远端与本地已经相关联的分支。
4.5、解决合并冲突
(现阶段不会遇到,遇到后再看视频。)
5、在 Visual Studio 中使用 Git
1、自动找到 git
2、在 Visual Studio 中使用 Git
其他的使用到时再搜索视频进行学习。
6、在 PyCharm 中使用 Git
6.1 将现有工程直接上传到 gitee (没有事先在 gitee 官网中新建仓库)
1、安装 gitee 插件
File -> Settings ->Plugins
2、不需要在 gitee 网站上新建一个仓库
3、当前 pycharm 工程创建好,并已经存在代码
第一次上传时需要输入邮箱和密码来登录 gitee 。
4、看下 gitee 网页
5、当后续有代码需要修改时,可以先提交再推送。
6.2 将现有工程直接上传到 gitee (事先在 gitee 官网中新建仓库)
解决当前问题和其他问题的视频链接: https://www.bilibili.com/video/BV1r34y1t7vN?spm_id_from=333.337.search-card.all.click&vd_source=b91967c499b23106586d7aa35af46413
其实,与上面不同的地方只有以下两处:
将事先在 gitee 官网中新建仓库的 ssh 复制过来并粘贴。
之后的提交和上传步骤与上面一样。