Git 是强大而灵活的版本控制工具,掌握常用命令可以极大提高开发效率。无论是个人项目还是团队协作,了解 Git 的使用方式和工作流程都能帮助你更好地管理代码和版本历史。
本文将详细介绍 Git 的常用命令,帮助你更好地理解和使用这个强大的工具。
一. Git 基本操作
用于初始化一个 Git 仓库。这是创建新项目的第一步,在项目的根目录下运行此命令会生成一个 .git 目录,用于保存 Git 的配置信息和版本历史。
从远程仓库克隆(复制)一个项目到本地。这会将项目的所有版本历史下载到本地机器。例如,克隆 GitHub 上的一个项目:
git clone https://github.com/user/repository.git
将文件添加到暂存区(stage)。在 Git 中,文件修改后不会自动保存为新版本,而是先通过 git add 命令将需要提交的文件放入暂存区,然后再使用 git commit 提交。将暂存区中的更改提交到本地仓库。每次提交时最好加上合适的提交信息,说明此次提交的目的。git commit -m "Your commit message"
如果希望对所有已暂存的更改提交时自动打开编辑器以编写详细的提交信息,可以使用:
查看当前工作区的状态,包括哪些文件有修改、哪些文件已被暂存、哪些文件还未被跟踪。可以加上一些参数来更简洁地查看提交历史:
用于比较文件的不同。可以比较工作区和暂存区的差异,也可以比较不同提交之间的变化。比较暂存区和最新提交的差异:
Git 的分支功能十分强大,它允许你创建和切换多个并行的开发路径,使得开发过程更加灵活。列出所有分支:
删除分支:
切换到指定的分支或提交。用于在不同分支之间进行切换,或者将 HEAD 移动到某个特定的提交。
将另一个分支合并到当前分支。通常在完成某个功能开发后,会将分支合并回主分支(如 main 或 master)。然后执行合并:
如果合并过程中发生冲突,Git 会提示你手动解决冲突。解决后需要重新执行 git add 提交冲突文件,最后执行 git commit。
4. git rebase
git rebase 用于将一个分支的提交重新应用到另一个分支上。它不同于 git merge 的地方在于,rebase 会将提交“移植”到目标分支,生成一个线性历史。
在开发分支上进行 rebase 到主分支:
git checkout feature-branchgit rebase main
这将把 feature-branch 的提交移植到 main 的最新状态之上。
三. 远程操作
Git 的分布式特性使得远程操作成为协作开发的核心内容。你可以通过远程仓库(如 GitHub、GitLab)与其他开发人员共享代码。
从远程仓库拉取最新的变更到本地,但不会自动合并到当前分支。它可以让你在不改变本地代码的情况下查看远程仓库的最新提交。拉取远程仓库的更新并自动与当前分支合并。git pull 实际上是 git fetch 和 git merge 的组合。
4. git push
将本地的提交推送到远程仓库。通常会推送到远程的对应分支。
如果是第一次推送分支,可以使用 -u 选项,将本地分支与远程分支关联起来:用于将远程仓库克隆到本地,这会获取仓库的所有历史记录和文件。暂时保存当前的修改并清空工作目录,适用于你想在当前分支上进行其他操作但不希望提交当前更改时。用于回退到某个历史提交。可以用来撤销提交、恢复文件到特定状态。硬回退,彻底删除工作区的更改:
创建标签,用于标记特定的提交,通常用于标记发布版本。创建带注释的标签:
git tag -a v1.0 -m "Version 1.0"
推送标签到远程:
全文结束,如果觉得有收获,可以随手点个“赞”或者“在看”,也欢迎分享文章到朋友圈和技术群。
------------------ END ------------------
关注公众号,获取更多精彩内容