(ÒωÓױ) 玩转 Git :如何在同一台电脑上模拟 Git 多用户环境

一、引言

最近在工作中遇到了一些 Git 上的问题,虽然解决了,但还是心有不甘,想要去找一本书来系统学习一下 Git(之前都是廖雪峰老师的 Git 教程入门),于是便找到了《Mastering Git》这本书。

学习过程中,我们总会想要去模拟多用户使用 Git 的环境来对比学习 Git 的使用方法,其或者是因为我们想要看到多用户提交的 git log 记录,或者是因为我们想要玩玩 Git 的多分支管理,又或者仅仅是想要看看不同用户角度中的 repository 究竟是什么样的。总之,这些触动都是我写下这篇博客的原因,因为尽管模拟多 Git 用户环境是件很简单的事情,但是网上却没有相关的博客介绍来帮助各位 Git 新人解决这个问题。

这篇博客希望大家可以跟着一起动手做,需要的东西很简单,一个可以正常创建仓库的 GitHub 账号,一个已经安装了 Git 的 PC 电脑(这里我使用的是 Windows 的 wsl Ubuntu 系统)即可。接下来,让我们手把手一起来创建这个有意思的场景吧:)

二、创建仓库与克隆仓库

1. 创建仓库

使用 GitHub 来创建一个远程仓库并不是一件很难的事情,因此这里我也不打算细细的谈论这个。这里我简单的截一个创建本博客使用仓库的图即可:
1

点击 Create repository 即可。

2. 克隆仓库

当我们创建完了仓库之后,自动会跳转到空白的仓库界面:
2

这里,可以看到 GitHub 提供给我们的克隆仓库的方法有两个,一个是 HTTPS,另一个则是 SSH。

那么有趣的地方就在这里,这两种方式各有什么区别呢?

简单来说,:

  1. HTTPS 的方式,当你克隆的时候,需要输入 GitHub 的用户名和密码验证通过后才能成功克隆仓库
  2. 而 ssh 的方式,需要 ssh key 的授权,而该授权 key 是通过 ssh key 生成器生成的,其生成的公钥需要放到 GitHub 上留存作为认证的凭证,因此当你使用 ssh 的方式克隆仓库时,只要你正确设置了 ssh key 就可以省略输入用户名和密码的操作了

因此,使用 HTTPS 的方式亦或是 ssh 的方式随你而定,前者不用预先配置 ssh key,后者不用输入用户名密码。

这里,我个人使用了 HTTPS 的方式来克隆仓库:

  1. 创建一个总的文件夹,来用放置多用户本地仓库目录
    $ cd ~
    $ mkdir Multi_Git_User_Simulate
    $ cd Multi_Git_User_Simulate
    
  2. 输入 GitHub 的用户名和密码,稍微等待即可克隆完成
    $ git clone https://github.com/wangying2016/Multi_Git_User_Simulate.git
    

三、模拟 Git 多用户环境

在上一节中我们已经完成了 GitHub 远程仓库的创建与克隆,现在我们来模拟两个 Git 用户对该远程仓库进行 Git 的基本操作。

1. 我是 Bob,我想要提交第一个文件

将第二节中克隆下来的工作目录重命名为 Bob 的工作目录

$ cd ~/Multi_Git_User_Simulate
$ mv Multi_Git_User_Simulate Multi_Git_User_Simulate_Bob

修改本地用户名为 Bob

$ git config --local user.name Bob
$ git config --local user.name Bob@git.com

Bob 进行第一个文件的提交

$ vi file.txt
This is the first file to be commit.
$ git add file.txt
$ git commit -m "Bob's first commit"

推送远端仓库,等待输入用户名和密码即可

$ git push 

此时,我们已经可以在 GitHub 上的远端仓库中看到 Bob 的提交记录了
3

2. 我是 Alice,我想要修改 Bob 的文件

我们需要模拟出另一个用户 Alice 的本地工作目录,于是按照第二节中的克隆步骤即可(仍然需要输入用户名和密码)

$ cd ~/Multi_Git_User_Simulate
$ git clone https://github.com/wangying2016/Multi_Git_User_Simulate.git

然后重命名项目文件夹名称

$ mv Multi_Git_User_Simulate Multi_Git_User_Simulate_Alice

设置本地 Git 用户信息

$ cd Multi_Git_User_Simulate_Alice
$ git config --local user.name Alice
$ git config --local user.name Alice@git.com

Alice 修改文件

$ vi file.txt
This is the first file to be committed.
$ git commit -a -m "Alice modified file.txt"

推送远端仓库(仍然需要输入用户名和密码)

$ git push

此时,我们又可以在 GitHub 的远端仓库中看到 Alice 的提交记录

4

至此,我们已经成功使用 git config --local + 多 git clone 目录的方式实现了 Git 多用户环境的搭建。

实现了这么一个环境,你想要学习 Git 的多用户协作相关的知识就有实验环境了 ^_^

三、总结

Git 说到底还是一种工具,需要前期的系统的学习外加后期的大量的实战才能够真正玩转它。

希望本篇博客能够给大家一些帮助

To be Stronger:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值