一、模拟bob的账户操作
1. 首先克隆项目
1.1 首先准备一个目录,用来存放克隆的项目
/Users/zhangfengzhou/GitHub/MutilUserGit/Gitlearn
1.2 克隆Gitee上的项目到Gitlearn的子目录gitlearn(克隆会新创建一个目录)
# 利用ssh方式clone项目
$ git clone git@gitee.com:happiness365/gitlearn.git
Cloning into 'gitlearn'...
Enter passphrase for key '/Users/zhangfengzhou/.ssh/id_ed25519':
remote: Enumerating objects: 30, done.
remote: Counting objects: 100% (30/30), done.
remote: Compressing objects: 100% (23/23), done.
remote: Total 30 (delta 11), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (30/30), done.
Resolving deltas: 100% (11/11), done.
$ ls -l
total 0
drwxr-xr-x 7 zhangfengzhou staff 224 8 28 20:25 gitlearn
$ cd gitlearn/
u$ ls
README.md beijing.txt hello.txt world.txt
2. 将克隆的项目重新命名
# 在GitLearn目录中对子目录 gitlearn 进行重命名
$ mv gitlearn gitlearn_bob
3. 配置本地用户信息
# 进入 gitlearn_bob目录,配置本地用户信息
$ cd gitlearn_bob/
$ git config --local user.name bob
$ git config --local user.email bob@git.com
4. 添加或者修改文件,并推送到远程仓库
# 创建文件并提交到远程仓库
$ touch ceshi.txt
$ vim ceshi.txt
$ git add ceshi.txt
$ git commit -m "bob创建ceshi.txt文件,并添加内容"
[master a67b558] bob创建ceshi.txt文件,并添加内容
1 file changed, 1 insertion(+)
create mode 100644 ceshi.txt
$ git push origin master
5. 查看远程仓库是否推送成功
二、模拟lily的账户操作
1. 在Gitlearn的目录下克隆gitee项目
# 在Gitlearn目录下克隆项目
$ git clone git@gitee.com:happiness365/gitlearn.git
Cloning into 'gitlearn'...
Enter passphrase for key '/Users/zhangfengzhou/.ssh/id_ed25519':
remote: Enumerating objects: 33, done.
remote: Counting objects: 100% (33/33), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 33 (delta 12), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (33/33), done.
Resolving deltas: 100% (12/12), done.
2. 重名名项目名称
$ mv gitlearn gitlearn_lily
3. 进入gitlearn_lily目录,并配置本地用户信息
$ cd gitlearn_lily/
$ git config --local user.name lily
$ git config --local user.email lily@git.com
4. 修改test.txt文件,然后推动到远程仓库
$ vim ceshi.txt
$ git add ceshi.txt
$ git commit -m "Lily修改了ceshi.txt文件"
[master b257b17] Lily修改了ceshi.txt文件
1 file changed, 1 insertion(+)
$ git push origin master
Enter passphrase for key '/Users/zhangfengzhou/.ssh/id_ed25519':
Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 312 bytes | 312.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Powered by GITEE.COM [GNK-6.1]
To gitee.com:happiness365/gitlearn.git
a67b558..b257b17 master -> master
5. 查看远程仓库是否有修改成功
总结:
使用git模拟多个账户的关键在于将项目克隆好之后,需要各自配置对应的本地用户,然后最后利用这些本地用户的身份对代码进行管理,这样就可以实现模拟不同用户对同一gitee项目的操作。
git config --local user.name "username"
git config --local user.email "useremail@xx.com"
参考: