远程仓库

1 远程仓库介绍

Git 远程仓库是指托管在远程服务器上的 Git 仓库,也称为代码托管平台开发者可以通过网络与其进行信息同步。一般来说,一个 Git 项目会有一个远程仓库,开发者通过将本地仓库的更新推送至远程仓库,与其他协作者实现代码共享与同步。

1.1 常见的远程仓库

1) GitHub,网址:https://github.com,是全球最大的代码托管平台,是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管。

2)Gitee,中文名码云,网址:https://gitee.com,是 OSChina 推出的代码托管平台,面向中国开发者提供免费的Git仓库以及SVN仓库托管服务。它类似于 GitHub,目前已经成为中国最大的开源社区。

3) Coding,网址:https://coding.net,是腾讯旗下的 Git 远程仓库服务。

1.2 自己搭建远程仓库

GitLab,网址:https://about.gitlab.com/, 是一款开源的代码托管平台程序,用于仓库管理系统的自托管解决方案,它类似于 GitHub,但可以自己搭建服务器来托管代码,不依赖任何第三方服务。

2 本地登录远程仓库

远程仓库的地址有 https 和 ssh 两种形式,对应的是不同的登录验证方式。

2.1 HTTPS 方式

当需要连接远程仓库的时候会自动弹出登录窗口,填写用户名密码,系统默认会记住账号密码,下次使用无需登录。

登录

用户名密码会保存到系统凭证中,从控制面板中可以找到,如果需要登录其他账号,需要在凭证中将原来的删除。

凭证

2.2 SSH 方式

第一步:创建非对称加密对

ssh-keygen -t rsa -C "xxx@xxx.com"

文件默认存储在家目录(c:/用户/用户名/.ssh)的 .ssh 文件夹中。

  • id_rsa 私钥
  • id_rsa.pub 公钥

第二步 将公钥(.pub)文件内容配置到github或者git的账号中

GitHub:右上角头像-> settings -> SSH and GPG keys -> new SSH Key

GItee:右上角头像-> 设置-> SSH公钥 -> 添加公钥

第三步 克隆远程仓库到本地

克隆代码时,选择 ssh 模式进行克隆。

git@gitee.com:fmuncle/huoxing.git

克隆代码时的提醒,这里需要输入 yes

ssh协议克隆仓库

3 本地仓库与远程仓库第一次同步

3.1 场景一:本地有仓库

  1. 在 GitHub 或 Gitee 上创建远程仓库

  2. 获取到远程仓库的地址

  3. 本地运行命令, 给仓库地址取别名为 origin

    git remote add origin 远程仓库地址
    
    # 仓库地址别名的其他操作
    git remote remove 名字;            # 删除
    git remote rename 名字 新名字;     # 改名
    git remove get-url 名字;           # 查看名字对应的仓库地址
    git remove set-url 名字 地址;       # 修改名字对应的仓库地址
    
  4. 本地工作区的修改提交到本地仓库。

  5. 拉取远程仓库的更新到本地

    git pull
    
  6. 把本地仓库推送到远程仓库 , -u 的意思是记录远程仓库的地址

    git push -u origin master
    
  7. 以后如果向远程仓库推送

    git push
    

3.2 场景二:本地没有仓库

  1. 获取远程仓库地址

  2. 克隆仓库

    git clone https://github.com/unclealan/test2.git
    

    克隆代码之后, 本地仓库会默认有一个远程地址的配置, 名字为 origin

  3. 本地添加并提交

    git add -A
    git commit -m 'message'
    
  4. 从远程仓库拉取更新

    git pull
    
  5. 推送本地仓库到远程

    git push
    

4 利用远程仓库多人协作

4.1 工作流程

项目开始第一天:

  1. 获取到仓库地址,克隆到本地

  2. 进行开发修改代码,添加、提交。

  3. 下班之前要推送到远程仓库

    先确定所有的修改的都提交了(commit)

    推送之前先拉取

    git pull
    

    正式推送

    git push
    

以后每一天:

  1. 早上上班,拉取远程仓库

    git pull
    
  2. 进行开发修改代码,添加、提交。

  3. 下班之前要推送到远程仓库

    先确定所有的修改的都提交了(commit)

    推送之前先拉取

    git pull
    

    正式推送

    git push
    

4.2 冲突解决

与合并分支类似,多个成员如果修改了同一个文件,就会出现冲突; 本地拉取文件的时候,如果远程仓库中与本地的提交有冲突,解决:修改再次提交, 再推送

results matching ""

    No results matching ""