Git 是一个分布式版本控制系统,用于跟踪计算机文件的更改,并协调由多人团队开发的项目。
Git 基本概念
- 仓库(Repository): Git 中的项目存储在一个仓库中,包含了所有文件的历史版本。
- 工作目录(Working Directory): 你修改文件的地方。
- 暂存区(Staging Area / Index): 用来准备提交的变更集合。
- 提交(Commit): 将暂存区的快照永久保存到仓库的历史记录中。
- 分支(Branches): 允许你在项目中并行开发多个功能。
- 标签(Tags): 给特定提交添加标记,常用于标注版本发布点。
Git 常用命令
初始化仓库
git init
: 初始化一个新的 Git 仓库。
查看状态
git status
: 显示工作目录和暂存区的状态。
文件操作
git add <file>
: 将文件添加到暂存区。git reset <file>
: 从暂存区移除文件,但不删除文件。git rm <file>
: 从暂存区和工作目录中删除文件。
提交变更
git commit -m "commit message"
: 创建一个新的提交,将暂存区的快照保存到仓库历史中。
分支管理
git branch
: 列出所有分支。git branch <branch-name>
: 创建新分支。git checkout <branch-name>
: 切换到指定分支。git merge <branch>
: 合并指定分支到当前分支。
远程仓库
git remote add origin <repository-url>
: 添加远程仓库。git push origin <branch>
: 将本地分支推送到远程仓库。git pull origin <branch>
: 从远程仓库拉取数据并合并到当前分支。
查看历史
git log
: 显示提交历史。git diff
: 显示工作目录与暂存区或上次提交之间的差异。
其他常用命令
git clone <repository-url>
: 克隆一个远程仓库到本地。git tag <tag-name>
: 创建一个标签。git show <commit>
: 显示指定提交的详细信息。git config --global user.name "Your Name"
: 设置全局用户名。git config --global user.email "you@example.com"
: 设置全局用户邮箱。
使用技巧
- 使用
git stash
在切换分支前保存未提交的工作。 - 使用
git rebase
来整理提交历史,使历史更清晰。 - 使用
git blame <file>
查看文件每一行的最后修改者和修改时间。 - 使用
git bisect
进行二分查找,定位引入错误的提交。