Git 分布式版本控制工具详解以及在Gitee,Github中的使用和Gitlab部署(四)

68 阅读8分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第22天,点击查看活动详情

四、Github

1. 注册 Github 账号

略~

2. 多人协作开发流程

  • A 在自己的计算机中创建本地仓库
  • A 在 GitHub 中创建远程仓库
  • A 将本地仓库推送到远程仓库
  • B 克隆远程仓库到本地进行开发
  • B 将本地仓库开发内容推送到远程仓库
  • A 将远程仓库中的最新内容拉去本地

3. 创建远程仓库

在这里插入图片描述

4. 推送到远程仓库

  1. git push 远程仓库地址 分支名称

  2. git push 远程仓库地址别名 分支名称

  3. git push -u 远程仓库地址别名 分支名称

    -u 记住推送地址和分支,下次只需要输入git push

  4. git remote add 远程仓库地址别名 远程仓库地址

  5. 删除别名:git remote remove 远程仓库地址别名

  6. 第一次提交需要用户名和密码,电脑会记住密码在凭据管理器,第二次就不用了。

    本地仓库上的操作

    1. 查看本地仓库关联的远程仓库:git remote;在克隆完每个远程仓库后,远程仓库默认为origin;加上-v的参数后,会显示远程仓库的url地址;
    2. 添加远程仓库,一般会取一个简短的别名:git remote add [remote-name] [url],比如:git remote add example git://github.com/example/example.git;
    3. 从远程仓库中抓取本地仓库中没有的更新:git fetch [remote-name],如git fetch origin;使用 fetch 只是将远端数据拉到本地仓库,并不自动合并到当前工作分支,只能人工合并。如果设置了某个分支关联到远程仓库的某个分支的话,可以使用git pull来拉去远程分支的数据,然后将远端分支自动合并到本地仓库中的当前分支;
    4. 将本地仓库某分支推送到远程仓库上:git push [remote-name] [branch-name],如git push origin master;如果想将本地分支推送到远程仓库的不同名分支:git push :,如git push origin serverfix:awesomebranch;如果想删除远程分支:git push [romote-name] :,如git push origin :serverfix。这里省略了本地分支,也就相当于将空白内容推送给远程分支,就等于删掉了远程分支。
    5. 查看远程仓库的详细信息:git remote show origin
    6. 修改某个远程仓库在本地的简称:git remote rename [old-name] [new-name],如git remote rename origin org
    7. 移除远程仓库:git remote rm [remote-name]

5. 拉取仓库

5.1 克隆仓库

  • 克隆远程仓库到本地:git clone 仓库地址

5.2 拉取远程仓库中最新版本

  • 拉取远程仓库最新版本到本地: git pull 远程仓库地址 分支名称

6解决冲突

多人开发同一个项目时,如果两个人修改了同一个文件同一个地方

  1. git pull
  2. 手动解决冲突
  3. git push

在这里插入图片描述

7. 跨团队协作

  1. fork到自己的远程仓库
  2. clone到本地进行修改
  3. push到远程仓库
  4. pull request发送给原作者
  5. 原作者查看commit 审核
  6. 原作者 merge pull request

8. SSH 免密登录

  1. 生成密钥: ssh-keygen

    密匙储存目录: C:\User\用户\.ssh

    公钥名称: id_rsa.pub

    私钥名称: id_rsa

  2. Github 添加公钥

在这里插入图片描述

  1. 复制 SSH 地址:

    在这里插入图片描述

  2. 设置 ssh 别名:$ git remote add origin_ssh SSH地址

  3. 远程推送: $ git push origin_ssh master

  4. ubuntu git 环境搭建以及通过 SSH 连接 Github(免密码)配置

9. Git 忽略清单

将不需要的文件名字添加到此文件中,执行 git 命令时就会忽略这些文件。

  • git 忽略清单文件名称:.gitignore

  • 将工作目录所有文件添加到缓存区: git add .

  • 例子:

    # 此为注释 – 将被 Git 忽略
    # 忽略所有 .a 结尾的文件
    *.a
    # 但 lib.a 除外
    !lib.a
    # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
    /TODO
    # 忽略 build/ 目录下的所有文件
    build/
    # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    doc/*.txt
    # 忽略 doc/ 目录下所有扩展名为 txt 的文件
    doc/**/*.txt
    

10. 为仓库添加说明

在仓库根目录添加readme.md文件即可

五、在Idea 中使用Git

1. 插件推荐:Gitee 码云

我们可以在 idea 中安装一个插件 Gitee 码云,然后在里面进行账号的登录,这样我们就可以省略代码和账户的认证操作了。

settings ===> version control ===> gitee ===>填写登录信息

2. 配置Git

安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。选择File→Settings打开设置窗口,找到 Version Control 下的 git 选项:

在这里插入图片描述

点击右侧的 Test 按钮,下面出现 Git 的版本号的话,就说明配置成功了

3. 在Idea 中操作 Git

场景:本地已经有一个项目,但是并不是git项目,我们需要将这个放到码云的仓库里,和其他开发人员继续一起协作开发

3.1 创建项目的远程仓库

具体步骤见上面我们创建仓库的目录

注意:由于我们是要将本地仓库给推动到远程仓库,所以创建仓库的时候下面的选项:比如说:初始化仓库,设置模板,选择分支类型等,这些我们都不要进行选择。

3.2 初始化本地仓库

首先,我们打开一个我们本地的项目,由于 Idea 项目会自动生成一个 .idea 文件目录,这个目录的话,我们就不需要仓库对其进行管理了,所以这一我们一般的话导入 .gitignore 文件,来忽略对这里的文件的管理。

在 Idea 中我们选择 Git 中的 VCS operations

在这里插入图片描述

然后选择 Create Git Repository ,选择我们要进行使用的本地的项目的目录就阔以了

初始化为仓库之后,上面就会有一些符号,比如说对号和箭头之类的,具体的作用如下

在这里插入图片描述

我们是先提交到本地仓库,然后再将本地仓库给 push 到远程仓库

我们点击 对号 进行提交的时候,idea 会相对弱化我们的缓存区,我们直接全选,然后下面输入对应的 commit message (bash 命令行窗口里面执行提交的时候我们使用 双引号所引着的提示信息-版本日志信息,这个信息我们在 idea 下面的Version Control (或者 git )---> log 栏目里面就可以看到,点击对应的提示信息,右侧还会显示,我们在这次提交的时候都是提交了什么内容。)

在这里插入图片描述

  • 将本地的仓库 push 到远程仓库

导航栏 Git --> Manage Rometes ---> 弹出窗口左下角的加号 ---> 输入名称和我们远程仓库所对应的 SSH 链接就可以了。

在这里插入图片描述

  • 远程仓库的克隆

导航栏 Git ---> clone ---> 输入我们仓库的 ssh 链接就可以了(后面的目录我们也可以更改)

  • 解决冲突

和我们之前解决冲突的方式一样:在本地的话,一般都是先执行 pull ,然后在进行 push , 在执行 pull 的时候在本地就把冲突给解决掉,然后在进行提交,对于那种,我们提交的功能都是所需要的是时候,我们可以直接把文件中提示冲突的内容直接给删除掉,直接改成我们想要的代码,然后进行 pull 加上 push 就可以了。(对于我们修改的文件,我们可能需要先对其进行一下 add 操作!!!)

3.3 分支创建

idea 的分支创建有好多种方式,比如说

  • 右下角的 master 处,点击之后我们可以看到我们本地和远程的分支,在相应的内容部分右键可以进行很多种操作:新建分支,checkout , merge等等操作(可以自行查看一下一下)
  • 但是我们一般才有,在 log 界面里面的指定节点处进行右键新建分支(优点:可以指定我们新建分支的节点;可以清楚地看到分支的结构)

3.4 几条铁令

  1. 切换分支前先提交本地的修改,如果未提交就直接切换分支的话,我们所做的代码修改将不会进行保存

  2. 代码及时提交,提交过了就不会丢

  3. 遇到任何问题都不要删除文件目录,第1时间找老师

4. 代码的团队内合作

  • 进入网站的库的首页
  • 点击设置 settings
  • 左栏 Manage access
  • Invite a collaborator -------> 邀请一个合作伙伴
  • 输入对方的 账号,然后在主页会显示一个邀请函()后面也会有一个地址
  • 对方访问对应的邀请函的地址的时候,就会看到邀请界面,接受邀请之后,在对方的账号上面也就可以看到主人的仓库的代码了
  • 对方就可以直接进行代码的更改和 push 了

5. 代码实现跨团队合作

  • 被人搜索到你的代码,然后点击 fork 插入到我们自己的代码仓库里面
  • 对其进行修改(修改之后 commit ,只是我们这边显示更改了,但是代码的主人那并没有发生更改,我们可以发送 pull request ,填写部分信息发送请求)
  • 在代码主人的主页部分的 pull request部分就会接收到请求,然后可以查看修改的代码信息,包括后面的发送和回复信息(直接聊天--聊天内容,上面会自动更新)
  • 如果主人感觉代码还是可以的,代码原主人那里就可以就是接收更改了,点击 merge pull request ,之后两端的代码就都被更新了