Git使用指南
1. 初始化与配置 (Initialization & Configuration)
git config
- 作用: 设置Git配置信息。
- 用法:
设置全局提交者名称
git config --global user.name “CommitUserName”设置全局提交者邮箱
git config --global user.email “email@example.com”
git init
- 作用: 在当前目录初始化一个新的Git仓库。
- 用法:
git init
git clone
- 作用: 从远程URL克隆一个仓库到本地。
- 用法:
git clone [远程仓库URL] - 注释:可以配置ssh key来避免“梯子问题”
2. 日常工作流 (Daily Workflow)
git status
- 作用: 显示工作区和暂存区的状态。
- 用法:
git status
git add
- 作用: 将文件更改添加到暂存区。
- 用法:
# 添加指定文件 git add [文件名] # 添加所有已修改和新创建的文件 git add .
git commit
- 作用: 将暂存区的内容记录为一个新的提交。
- 用法:
git commit -m “提交描述信息”
git log
- 作用: 显示提交历史记录。
- 用法:
# 显示完整历史 git log # 显示单行简洁历史 git log --oneline # 显示带分支拓扑的图形化历史 git log --graph --oneline --all日常使用:
在初始化后(init,添加remote仓库),使用
git add .来将所有的文件添加到暂存区,然后git commit -m ""来提交,最后再git push -u origin main提交并建立上游分支。
3. 分支管理 (Branch Management)
git branch
- 作用: 列出、创建或删除分支。
- 关键: 是使用git在多个设备间提交不同的任务与checkpoint的方法
- 用法:
# 列出所有本地分支 git branch # 列出所有本地及远程分支 git branch -a # 创建新分支 git branch [新分支名] # 删除已合并的分支 git branch -d [分支名]
git checkout
- 作用: 切换分支或恢复工作区文件。
- 用法:
# 切换到已存在的分支 git checkout [分支名] # 创建并立即切换到新分支 git checkout -b [新分支名]
git merge
- 作用: 将指定分支的历史合并到当前分支。
- 用法:
# 切换到接收合并的分 git checkout main # 合并feature分支 git merge [feature分支名]
4. 远程协作 (Remote Collaboration)
git remote
- 作用: 管理一组被追踪的远程仓库。
- 用法:
# 查看远程仓库的详细信息 git remote -v # 添加一个新的远程仓库 git remote add [别名] [远程仓库URL]
git push
- 作用: 将本地分支的提交更新到远程仓库。
- 用法:
# 推送到远程仓库的指定分支 git push [远程仓库别名] [分支名] # 首次推送并建立上游链接 git push -u origin main
git pull
- 作用: 从远程仓库获取最新版本并与本地分支合并。
- 用法:
git pull [远程仓库别名] [分支名]
git fetch
- 作用: 从远程仓库下载对象和引用,但不自动合并。
- 用法:
git fetch [远程仓库别名]
5. 撤销与修改 (Reverting & Amending)
git checkout -- <file>
- 作用: 撤销工作区中对指定文件的修改。
- 用法:
git checkout -- [文件名]
git reset
- 作用: 将文件从暂存区移出,但保留工作区的修改。
- 用法:
git reset HEAD [文件名]
git commit --amend
- 作用: 修改最后一次提交的内容或提交信息。
- 用法:
# 添加新文件后,合并到上一次提交 git add [新文件] git commit --amend --no-edit # 仅修改上一次的提交信息 git commit --amend -m “新的提交信息”
6. 实用技巧 (Practical Tips)
.gitignore
- 作用: 指定Git需要忽略、不进行版本控制的文件或目录模式。
- 用法: 在项目根目录创建 .gitignore 文件,写入忽略规则。
- 关键: 一定要忽视 .env(环境内容)、大型数据与模型文件、敏感信息、缓存与虚拟环境。
# 忽略数据集 *.csv /data/ # 忽略Python缓存和虚拟环境 __pycache__/ .venv/ # 忽略敏感信息 .env
git lfs (Large File Storage)
- 作用: 使用指针替代大型文件,以优化对大型二进制文件的版本控制。
- 用法:
# 安装LFS (仅需一次) git lfs install # 开始追踪指定文件类型 git lfs track “*.h5” git lfs track “*.pkl” # 确保.gitattributes文件被提交 git add .gitattributes

地址