Git 团队协作机制

团队内协作

在这里插入图片描述

跨团队协作

在这里插入图片描述

GitHub 操作

GitHub 网址:https://github.com/

此处使用 GitHub 进行演示团队协作机制;若使用 Gitee,操作类似

创建远程仓库

登录Github,点击+号,选择New repository

在这里插入图片描述

输入仓库名称后,点击Create repository即可完成创建

在这里插入图片描述

创建好后,复制HTTP地址

在这里插入图片描述

远程仓库操作
命令名称作用
git remote -v查看当前所有远程地址别名
git remote add 别名 远程地址创建别名
git remote show 别名检查别名
git remote set-url 别名 远程地址修改别名
git remote remove 别名删除别名
git remote rename 旧别名 新别名重命名别名
git push 别名 本地分支名推送本地分支上的内容到远程仓库
git clone 远程地址将远程仓库的内容克隆到本地
git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并
创建远程仓库别名
1)基本语法

git remote -v 查看当前所有远程地址别名

git remote add 别名 远程地址

2)案例实操
Aiw@DESKTOP-2K268H6 MINGW64 /e/Git-Space/git-demo (master)
$ git remote -v

Aiw@DESKTOP-2K268H6 MINGW64 /e/Git-Space/git-demo (master)
$ git remote add git-demo https://github.com/Aiw-nine/git-demo.git

Aiw@DESKTOP-2K268H6 MINGW64 /e/Git-Space/git-demo (master)
$ git remote -v
git-demo        https://github.com/Aiw-nine/git-demo.git (fetch)
git-demo        https://github.com/Aiw-nine/git-demo.git (push)

Aiw@DESKTOP-2K268H6 MINGW64 /e/Git-Space/git-demo (master)
$ git remote show git-demo
* remote git-demo
  Fetch URL: https://github.com/Aiw-nine/git-demo.git
  Push  URL: https://github.com/Aiw-nine/git-demo.git
  HEAD branch: master
  Remote branch:
    master new (next fetch will store in remotes/git-demo)
  Local ref configured for 'git push':
    master pushes to master (local out of date)

出现两个别名,是因为既可以推送(push),也可以拉取(clone、pull)

推送本地分支到远程仓库
1)基本语法

git push 别名 本地分支名

若未设置仓库别名,则默认命令为git push origin 本地分支名

2)案例实操
Aiw@DESKTOP-2K268H6 MINGW64 /e/Git-Space/git-demo (master)
$ git push git-demo master
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 6 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 300 bytes | 300.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/Aiw-nine/git-demo.git
   a984f2d..a485aed  master -> master

第一次push时,会弹出登录窗口,点击登录进行授权。

在这里插入图片描述

若是创建的仓库不为空(如含readme.md等文件),则会出现问题,就是远程库与本地库不一致造成的,把远程库同步到本地库,命令如下:

git pull --rebase git-demo master

此时发现已将 master 分支上的内容推送到 GitHub 创建的远程仓库。

在这里插入图片描述

拉取远程仓库到本地库
1)基本语法

git pull 远程库地址别名 远程分支名

若未设置仓库别名,则默认命令为git pull origin 远程分支名

2)案例实操

此处直接在GitHub网页端修改文件,进行提交

在这里插入图片描述

在这里插入图片描述

此时本地库和远程库不是同步状态,此时需要拉取远程库代码到本地,进行同步操作。

Aiw@DESKTOP-2K268H6 MINGW64 /e/Git-Space/git-demo (master)
$ git pull git-demo master
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 727 bytes | 66.00 KiB/s, done.
From https://github.com/Aiw-nine/git-demo
 * branch            master     -> FETCH_HEAD
   a485aed..89ce53c  master     -> git-demo/master
Updating a485aed..89ce53c
Fast-forward
 hello.txt | 1 +
 1 file changed, 1 insertion(+)
 
Aiw@DESKTOP-2K268H6 MINGW64 /e/Git-Space/git-demo (master)
$ cat hello.txt
hello, git!!!
hello, git!!!
hello, git!!! master test!
hello, git!!! hot-fix test!
在GitHub网页端直接进行更改。
克隆远程仓库到本地
1)基本语法

git clone 远程地址

使用该命令不需要登录账号;克隆会自动执行init初始化操作

2)案例实操

切换目录,右键打开Git Bash Here

Aiw@DESKTOP-2K268H6 MINGW64 ~/Desktop/clone
$ git clone https://github.com/Aiw-nine/git-demo.git
Cloning into 'git-demo'...
remote: Enumerating objects: 18, done.
remote: Counting objects: 100% (18/18), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 18 (delta 2), reused 10 (delta 0), pack-reused 0
Receiving objects: 100% (18/18), done.
Resolving deltas: 100% (2/2), done.

Aiw@DESKTOP-2K268H6 MINGW64 ~/Desktop/clone
$ cd git-demo

Aiw@DESKTOP-2K268H6 MINGW64 ~/Desktop/clone/git-demo (master)
$ ll -a
total 6
drwxr-xr-x 1 Aiw 197121   0 Aug  7 15:36 ./
drwxr-xr-x 1 Aiw 197121   0 Aug  7 15:36 ../
drwxr-xr-x 1 Aiw 197121   0 Aug  7 15:36 .git/
-rw-r--r-- 1 Aiw 197121  10 Aug  7 15:36 README.md
-rw-r--r-- 1 Aiw 197121 128 Aug  7 15:36 hello.txt

Aiw@DESKTOP-2K268H6 MINGW64 ~/Desktop/clone/git-demo (master)
$ git remote -v
origin  https://github.com/Aiw-nine/git-demo.git (fetch)
origin  https://github.com/Aiw-nine/git-demo.git (push)

查看结果

在这里插入图片描述

小结:clone 会做如下操作。1、拉取代码。2、初始化本地仓库。3、创建本地仓库别名为origin

团队协作
1)选择邀请合作者

在这里插入图片描述

2)填入想要合作的人

输入想要合作的人的username,full name, email

在这里插入图片描述

输入后,进行选择,然后点击Add ...按钮

在这里插入图片描述

3)复制地址并通过QQ/微信/钉钉等方式发送给该合伙人

在这里插入图片描述

4)在 第二个人 这个账号中的地址栏复制收到邀请的链接,点击接受邀请。示例图如下:

在这里插入图片描述

5)成功之后可以在 第二个人 这个账号上看到 git-demo 的远程仓库。

在这里插入图片描述

6)第二个人 可以修改内容并 push 到远程仓库。
Aiw@DESKTOP-2K268H6 MINGW64 ~/Desktop/clone/git-demo (master)
$ vim hello.txt

Aiw@DESKTOP-2K268H6 MINGW64 ~/Desktop/clone/git-demo (master)
$ cat hello.txt
hello, git!!!
hello, git!!!
hello, git!!! master test!
hello, git!!! hot-fix test!
在GitHub网页端直接进行更改。
啦啦啦啦啦 ---by 第二个人

Aiw@DESKTOP-2K268H6 MINGW64 ~/Desktop/clone/git-demo (master)
$ git add hello.txt

Aiw@DESKTOP-2K268H6 MINGW64 ~/Desktop/clone/git-demo (master)
$ git commit -m "第二个人进行提交" hello.txt
[master 2ae62d7] 第二个人进行提交
 1 file changed, 1 insertion(+)
7)回到 第一个人 的 GitHub 远程仓库中可以看到,最后一次是 第二个人提交的

在这里插入图片描述

跨团队协作
1)将远程仓库的地址复制发给邀请跨团队协作的人
2)在别人的 GitHub 账号里的地址栏复制收到的链接,然后点击 Fork 将项目叉到别人自己的本地仓库
叉成功后可以看到当前仓库信息

在这里插入图片描述

3)别人就可以在线编辑叉取过来的文件
4)编辑完毕后,填写描述信息并点击左下角绿色按钮提交

在这里插入图片描述

5)接下来点击上方的 Pull 请求,并创建一个新的请求

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6)回到本人 GitHub 账号可以看到有一个 Pull request 请求

在这里插入图片描述

进入到聊天室,可以讨论代码相关内容

在这里插入图片描述

在这里插入图片描述

7)如果代码没有问题,可以点击 Merge pull reque 合并代码

在这里插入图片描述

在这里插入图片描述

SSH 免密登录

可以看到远程仓库中还有一个 SSH 的地址,因此也可以使用 SSH 进行访问。

在这里插入图片描述

具体操作如下:

Aiw@DESKTOP-2K268H6 MINGW64 ~
$ ssh-keygen -t rsa -C "aiw@1314.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/Aiw/.ssh/id_rsa):
Created directory '/c/Users/Aiw/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/Aiw/.ssh/id_rsa
Your public key has been saved in /c/Users/Aiw/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:cnBX+jNI+yF6lMp0wqqE5s5grHmM7eiBeMfsmu7MhGA aiw@1314.com
The key's randomart image is:
+---[RSA 3072]----+
|            .    |
|           o     |
|      . . +      |
|       + o =     |
|.E    . S B =    |
|*. +   * * o +   |
|=B= = . + . .    |
|+%== .   .       |
|=B%.o            |
+----[SHA256]-----+

Aiw@DESKTOP-2K268H6 MINGW64 ~
$ cat ~/.ssh/id_rsa.pub
ssh-rsa 
AAAAB3NzaC1yc2EAAAADAQ(此处省略...)

复制 id_rsa.pub 文件内容,登录 GitHub,点击用户头像→Settings→SSH and GPG keys->New SSH key,示例图如下:

在这里插入图片描述

点击Add SSH key按钮即可;接下来再往远程仓库 push 东西的时候使用 SSH 连接就不需要登录了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杼蛘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值