mgit使用

124 阅读3分钟

从 SourceTree 迁移到 Git 命令行使用指南

Git 命令行与 SourceTree 操作对比

1. 初始化仓库

SourceTree: 通过 GUI 界面创建或克隆仓库
Git 命令行:

# 克隆远程仓库
git clone https://github.com/username/repository.git

# 初始化新仓库
git init

2. 查看状态

SourceTree: 在界面中直接查看文件状态
Git 命令行:

git status

3. 添加文件到暂存区

SourceTree: 勾选要暂存的文件
Git 命令行:

# 添加单个文件
git add filename.ext

# 添加所有修改的文件
git add .

# 添加所有修改和删除的文件,但不包括新增文件
git add -u

4. 提交更改

SourceTree: 填写提交信息并点击提交按钮
Git 命令行:

# 简单提交
git commit -m "提交信息"

# 提交并修改最后一次提交(如果没有推送到远程)
git commit --amend -m "新的提交信息"

5. 推送更改

SourceTree: 点击推送按钮
Git 命令行:

# 推送到默认远程分支
git push

# 推送到特定远程分支
git push origin branch-name

# 强制推送(谨慎使用)
git push -f

6. 拉取更新

SourceTree: 点击拉取按钮
Git 命令行:

# 拉取并合并
git pull

# 相当于 git fetch + git merge
git fetch
git merge origin/branch-name

7. 分支操作

SourceTree: 通过分支菜单操作
Git 命令行:

# 查看分支
git branch       # 本地分支
git branch -a    # 所有分支(包括远程)

# 创建分支
git branch new-branch-name

# 切换分支
git checkout branch-name
# 或
git switch branch-name

# 创建并切换分支
git checkout -b new-branch-name
# 或
git switch -c new-branch-name

# 删除分支
git branch -d branch-name      # 安全删除
git branch -D branch-name      # 强制删除

8. 合并分支

SourceTree: 通过合并按钮操作
Git 命令行:

# 先切换到目标分支
git checkout main

# 合并分支
git merge feature-branch

# 如果有冲突,解决后继续
git add .
git commit

9. 撤销更改

SourceTree: 通过右键菜单撤销
Git 命令行:

# 撤销工作区修改(未暂存)
git checkout -- filename.ext

# 撤销暂存区的修改(已add但未commit)
git reset HEAD filename.ext

# 撤销最近一次提交(未推送)
git reset --soft HEAD~1   # 保留更改在暂存区
git reset --hard HEAD~1   # 完全丢弃更改(谨慎使用)

MGit 使用指南

MGit 是阿里巴巴开源的 Android Git 仓库管理工具,适合管理多个 Git 仓库。

基本使用

  1. 安装:

    npm install -g mgit2
    
  2. 初始化配置:
    创建 mgit.json 配置文件:

    {
      "repositories": {
        "repo1": {
          "url": "git@github.com:username/repo1.git",
          "branch": "master"
        },
        "repo2": {
          "url": "git@github.com:username/repo2.git",
          "branch": "develop"
        }
      }
    }
    
  3. 常用命令:

    # 克隆所有仓库
    mgit sync --clone
    
    # 更新所有仓库
    mgit sync
    
    # 执行git命令到所有仓库
    mgit exec "git status"
    
    # 添加新仓库配置
    mgit add repo3 --url git@github.com:username/repo3.git --branch main
    
  4. 高级功能:

    • 支持仓库分组管理
    • 支持依赖关系配置
    • 支持钩子脚本
    • 支持并行操作

MGit 与普通 Git 的区别

  1. 批量操作: MGit 可以同时对多个仓库执行相同命令
  2. 依赖管理: 可以配置仓库间的依赖关系
  3. 配置集中化: 所有仓库配置在一个文件中管理
  4. 简化流程: 对多仓库项目特别友好

从 SourceTree 迁移到命令行的建议

  1. 开始时可以同时使用 SourceTree 和命令行,观察命令执行后 SourceTree 中的变化

  2. 使用 git help <command> 查看任何命令的帮助信息

  3. 配置好命令别名可以简化操作,例如:

    git config --global alias.co checkout
    git config --global alias.br branch
    git config --global alias.ci commit
    git config --global alias.st status
    
  4. 使用 git log --graph --oneline --all 查看漂亮的提交历史图

希望这份详细指南能帮助你顺利从 SourceTree 过渡到 Git 命令行!