从 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 仓库。
基本使用
-
安装:
npm install -g mgit2 -
初始化配置:
创建mgit.json配置文件:{ "repositories": { "repo1": { "url": "git@github.com:username/repo1.git", "branch": "master" }, "repo2": { "url": "git@github.com:username/repo2.git", "branch": "develop" } } } -
常用命令:
# 克隆所有仓库 mgit sync --clone # 更新所有仓库 mgit sync # 执行git命令到所有仓库 mgit exec "git status" # 添加新仓库配置 mgit add repo3 --url git@github.com:username/repo3.git --branch main -
高级功能:
- 支持仓库分组管理
- 支持依赖关系配置
- 支持钩子脚本
- 支持并行操作
MGit 与普通 Git 的区别
- 批量操作: MGit 可以同时对多个仓库执行相同命令
- 依赖管理: 可以配置仓库间的依赖关系
- 配置集中化: 所有仓库配置在一个文件中管理
- 简化流程: 对多仓库项目特别友好
从 SourceTree 迁移到命令行的建议
-
开始时可以同时使用 SourceTree 和命令行,观察命令执行后 SourceTree 中的变化
-
使用
git help <command>查看任何命令的帮助信息 -
配置好命令别名可以简化操作,例如:
git config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit git config --global alias.st status -
使用
git log --graph --oneline --all查看漂亮的提交历史图
希望这份详细指南能帮助你顺利从 SourceTree 过渡到 Git 命令行!