git 多人协作
blog
本文字数:664 字 | 阅读时长 ≈ 3 min

git 多人协作

blog
本文字数:664 字 | 阅读时长 ≈ 3 min

Git 多人协作指南

在和其他人进行协作之前,你和其他人都要有这个仓库的修改/提交等权限。也就是说需要提前配置用户信息,ssh 密钥等信息,这里不做赘述,直接说操作

1. 创建并查看分支

多人协作一般来说有多个分支,其中一个 master 为主分支,多个人共同维护这一个大版本。随后每个人都有一个子分支,用来各自的开发任务,这里一一讲解各个命令

如下所示,我们随机找了一个仓库,可以看到当前本地分支有两个 ahuimaster,远程分支有多个,表示其他人同时也有自己的进度,等进度完成后向 master 分支提交他们的版本

[root@etao-jqb011166008151.na131 /ssd/1/wangyh/TBStarsViT]
#git branch
* ahui
  master
(base) 
[root@etao-jqb011166008151.na131 /ssd/1/wangyh/TBStarsViT]
#git branch -r
  origin/HEAD -> origin/master
  origin/ahui
  origin/master
  origin/ruoze_dev
  origin/yaqi
  origin/yaqi_eval_0728
(base) 
[root@etao-jqb011166008151.na131 /ssd/1/wangyh/TBStarsViT]
#git branch -a
* ahui
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/ahui
  remotes/origin/master
  remotes/origin/ruoze_dev
  remotes/origin/yaqi
  remotes/origin/yaqi_eval_0728
(base) 
[root@etao-jqb011166008151.na131 /ssd/1/wangyh/TBStarsViT]
# 

2. 用远程分支来更新当前分支

假设有人更新了自己的分支,并将其提交到 master 分支了,现在我们想将 master 分支拉到本地 ahui 分支,该怎么做?首先更新 master 分支,要确保本地的 master 分支是最新的,然后才能将其合并到 ahui 分支。

  1. 更新本地 master 分支:git fetch origin
  2. master 合并到 ahuigit merge origin/master

2.1 如果 master 分支和本地无冲突

如果远程 master 分支和本地 ahui 分支没有冲突,那么合并操作会自动完成,直接将 master 分支的最新提交合并到 ahui 分支,执行状态如下

[root@etao-jqb011166008151.na131 /ssd/1/wangyh/TBStarsViT]
#git fetch origin
remote: Enumerating objects: 86, done.
remote: Counting objects: 100% (86/86), done.
remote: Total 86 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (86/86), done.
From http://gitlab.alibaba-inc.com/future-lab-stars/TBStarsViT
   adef02a..38b8cd1  master     -> origin/master
   ca16a75..5095583  yaqi       -> origin/yaqi
(base) 
[root@etao-jqb011166008151.na131 /ssd/1/wangyh/TBStarsViT]
#git merge origin/master
Updating 621951e..38b8cd1
Fast-forward
 clip_benchmark/cli.py                        | 31 +++++++++++++++++++++++++++++--
 clip_benchmark/datasets/imagenet1k_custom.py |  3 ++-
 clip_benchmark/metrics/linear_probe.py       |  8 ++++++--
 dataset/image_processing_qwen2_vl.py         | 27 +++++++++++++++++++++++++++
 models/clip_wrapper.py                       |  4 ++--
 models/mim_model/qwen2_5vl_mim.py            | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------
 pretrain_engine.py                           | 13 +++++++++----
 scripts/evaluate_linear_probing.sh           | 16 +++++++++-------
 scripts/submit_amd_eval.sh                   | 22 ++++++++++++----------
 scripts/submit_eval.sh                       | 32 +++++++++++++++++++++++---------
 stage1_siglip_2_qwenvl.py                    |  5 +++--
 utils/arguments.py                           |  5 ++++-
 utils/optim_factory.py                       |  2 ++
 utils/utils.py                               | 35 +++++++++++++++++++++++++++--------
 14 files changed, 234 insertions(+), 59 deletions(-)
5月 06, 2025