Git 是一个分布式版本控制系统,广泛用于代码管理和协作开发。以下是一些常用的 Git 命令及其用途:
1. 初始化仓库
git init
在当前目录初始化一个新的 Git 仓库。
2. 克隆仓库
git clone <repository_url>
克隆远程仓库到本地。
3. 查看状态
git status
查看工作目录和暂存区的状态,显示哪些文件被修改、哪些文件已暂存等。
4. 添加文件到暂存区
git add <file>
将指定文件添加到暂存区。git add .
将所有修改的文件添加到暂存区。
5. 提交更改
git commit -m "commit message"
将暂存区的更改提交到本地仓库,并附上提交信息。
6. 查看提交历史
git log
查看提交历史记录。git log --oneline
以简洁的单行格式查看提交历史。git log --graph
以图形化方式查看提交历史。
7. 分支操作
git branch
查看本地分支列表。git branch <branch_name>
创建一个新分支。git checkout <branch_name>
切换到指定分支。git checkout -b <branch_name>
创建并切换到新分支。git merge <branch_name>
将指定分支合并到当前分支。git branch -d <branch_name>
删除指定分支。
8. 远程仓库操作
git remote -v
查看远程仓库的详细信息。git remote add <name> <url>
添加一个新的远程仓库。git fetch <remote>
从远程仓库获取最新更改,但不合并到本地分支。git pull <remote> <branch>
从远程仓库拉取最新更改并合并到当前分支。git push <remote> <branch>
将本地分支的更改推送到远程仓库。git push -u <remote> <branch>
将本地分支推送到远程仓库,并设置上游分支(upstream),以便后续的git pull
和git push
可以省略参数。
9. 撤销更改
git checkout -- <file>
撤销对指定文件的修改,恢复到上次提交的状态。git reset HEAD <file>
将指定文件从暂存区移除,但保留工作目录中的修改。git reset --hard HEAD
撤销所有未提交的更改,恢复到上次提交的状态。git revert <commit_hash>
撤销指定提交的更改,并生成一个新的提交。
10. 标签操作
git tag
查看所有标签。git tag <tag_name>
在当前提交上创建一个轻量标签。git tag -a <tag_name> -m "tag message"
创建一个带注释的标签。git push <remote> <tag_name>
将指定标签推送到远程仓库。git push <remote> --tags
将所有本地标签推送到远程仓库。
11. 暂存与恢复工作进度
git stash
将当前工作目录的修改暂存起来,以便切换到其他分支。git stash list
查看所有暂存的进度。git stash apply
恢复最近一次暂存的进度。git stash drop
删除最近一次暂存的进度。git stash pop
恢复并删除最近一次暂存的进度。
12. 查看差异
git diff
查看工作目录与暂存区之间的差异。git diff --cached
查看暂存区与上次提交之间的差异。git diff <commit1> <commit2>
查看两个提交之间的差异。
13. 重命名分支
git branch -m <old_branch_name> <new_branch_name>
重命名本地分支。
14. 删除远程分支
git push <remote> --delete <branch_name>
删除远程仓库中的指定分支。
15. 查看远程分支
git branch -r
查看远程仓库的所有分支。
16. 清理未跟踪的文件
git clean -f
删除未跟踪的文件。git clean -fd
删除未跟踪的文件和目录。
17. 查看配置
git config --list
查看当前 Git 配置。git config --global user.name "Your Name"
设置全局用户名。git config --global user.email "your.email@example.com"
设置全局邮箱。
18. 子模块操作
git submodule add <repository_url>
添加一个子模块。git submodule update --init --recursive
初始化并更新子模块。
19. 查看文件历史
git blame <file>
查看指定文件的每一行修改历史。
20. 重写提交历史
git rebase <branch>
将当前分支的提交历史变基到指定分支上。git rebase -i <commit>
交互式地重写提交历史。
总结
这些命令涵盖了 Git 的常用操作,能够帮助开发者有效地管理代码版本、协作开发和处理分支等任务。根据具体需求,开发者可以灵活使用这些命令来完成日常的版本控制工作。