Git是一个强大的分布式版本控制系统,它提供了许多命令来帮助开发者管理代码的变更历史和协作。以下是一些Git的常用命令:
初始化和配置
git init
- 初始化一个新的Git仓库。git config --global user.name "Your Name"
- 设置全局用户名,用于提交。git config --global user.email "your_email@example.com"
- 设置全局用户邮箱,用于提交。
文件操作
git status
- 查看当前工作目录的状态,显示有变更的文件。git add <file>
- 将指定文件添加到暂存区。git add .
- 添加当前目录下所有变更的文件到暂存区。git add -A
- 添加所有新文件和变更的文件到暂存区。git reset <file>
- 取消暂存区中指定文件的变更。git rm <file>
- 删除指定文件,并将其添加到暂存区。git rm --cached <file>
- 从暂存区中移除指定文件,但不删除工作目录中的文件。
提交和历史
git commit -m "Commit message"
- 提交暂存区中的变更,并添加提交信息。git log
- 查看提交历史。git diff
- 查看工作目录和最后一次提交之间的差异。git diff HEAD~1
- 查看上一次提交的变更。git diff --cached
- 查看暂存区和最后一次提交之间的差异。
分支和标签
git branch
- 列出所有本地分支。git branch <branchname>
- 创建一个新分支。git checkout <branchname>
- 切换到指定分支。git merge <branchname>
- 将指定分支合并到当前分支。git branch -d <branchname>
- 删除指定的本地分支。git push origin <branchname>
- 推送本地分支到远程仓库。git pull
- 从远程仓库拉取变更并合并到当前分支。git tag <tagname>
- 为当前提交打上标签。git push origin --tags
- 推送所有标签到远程仓库。
远程仓库
git clone <repository>
- 克隆一个远程仓库到本地。git remote add origin <repository>
- 添加一个远程仓库。git remote -v
- 显示所有远程仓库的URL。git fetch
- 从远程仓库获取最新变更,但不合并。git push
- 将本地变更推送到远程仓库。git pull
- 从远程仓库拉取变更并合并到当前分支。
撤销和修复
git reset --soft HEAD~1
- 回退到上一次提交,保留变更在暂存区。git reset --mixed HEAD~1
- 回退到上一次提交,将变更移回工作目录。git reset --hard HEAD~1
- 回退到上一次提交,丢弃所有工作目录和暂存区的变更。git revert <commit>
- 创建一个新的提交,撤销指定提交的变更。
其他有用的命令
git stash
- 临时保存工作目录的变更。git stash list
- 列出所有储藏的变更。git stash apply
- 应用储藏的变更。git stash drop
- 删除指定的储藏变更。git gc
- 清理不必要的文件和优化本地仓库。
这些命令是Git中最基础和最常用的命令,掌握它们可以帮助您更有效地使用Git进行版本控制和代码管理。