Git命令使用指南

科技   2024-10-10 07:31   广东  

Git 是强大而灵活的版本控制工具,掌握常用命令可以极大提高开发效率。无论是个人项目还是团队协作,了解 Git 的使用方式和工作流程都能帮助你更好地管理代码和版本历史。

本文将详细介绍 Git 的常用命令,帮助你更好地理解和使用这个强大的工具。

一. Git 基本操作

1. git init

用于初始化一个 Git 仓库。这是创建新项目的第一步,在项目的根目录下运行此命令会生成一个 .git 目录,用于保存 Git 的配置信息和版本历史。

git init
2. git clone
从远程仓库克隆(复制)一个项目到本地。这会将项目的所有版本历史下载到本地机器。
git clone <repository-url>

例如,克隆 GitHub 上的一个项目:

git clone https://github.com/user/repository.git
3. git add
将文件添加到暂存区(stage)。在 Git 中,文件修改后不会自动保存为新版本,而是先通过 git add 命令将需要提交的文件放入暂存区,然后再使用 git commit 提交。
git add <file>
可以一次性添加多个文件:
git add .
4. git commit
将暂存区中的更改提交到本地仓库。每次提交时最好加上合适的提交信息,说明此次提交的目的。
git commit -m "Your commit message"
如果希望对所有已暂存的更改提交时自动打开编辑器以编写详细的提交信息,可以使用:
git commit
5. git status
查看当前工作区的状态,包括哪些文件有修改、哪些文件已被暂存、哪些文件还未被跟踪。
git status
6. git log
查看项目的提交历史,按时间倒序显示提交记录。
git log

可以加上一些参数来更简洁地查看提交历史:

git log --oneline
7. git diff
用于比较文件的不同。可以比较工作区和暂存区的差异,也可以比较不同提交之间的变化。
git diff

比较暂存区和最新提交的差异:

git diff --staged
二. 分支操作
Git 的分支功能十分强大,它允许你创建和切换多个并行的开发路径,使得开发过程更加灵活。
1. git branch
列出所有本地分支,也可以用来创建或删除分支。

列出所有分支:

git branch
创建一个新分支:
git branch <branch-name>

删除分支:

git branch -d <branch-name>
2. git checkout
切换到指定的分支或提交。用于在不同分支之间进行切换,或者将 HEAD 移动到某个特定的提交。
切换到一个已有分支:
git checkout <branch-name>
创建并切换到新分支:
git checkout -b <new-branch-name>
3. git merge
将另一个分支合并到当前分支。通常在完成某个功能开发后,会将分支合并回主分支(如 main 或 master)。
首先切换到主分支:
git checkout main

然后执行合并:

git merge <branch-name>

如果合并过程中发生冲突,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)与其他开发人员共享代码。

1. git remote
查看或管理远程仓库地址。
查看当前所有远程仓库:
git remote -v
添加新的远程仓库:
git remote add origin <repository-url>
2. git fetch
从远程仓库拉取最新的变更到本地,但不会自动合并到当前分支。它可以让你在不改变本地代码的情况下查看远程仓库的最新提交。
git fetch origin
3. git pull

拉取远程仓库的更新并自动与当前分支合并。git pull 实际上是 git fetch 和 git merge 的组合。

git pull origin <branch-name>

4. git push

将本地的提交推送到远程仓库。通常会推送到远程的对应分支。

git push origin <branch-name>
如果是第一次推送分支,可以使用 -u 选项,将本地分支与远程分支关联起来:
git push -u origin <branch-name>
5. git clone
用于将远程仓库克隆到本地,这会获取仓库的所有历史记录和文件。
git clone <repository-url>
四. 常用高级命令
1. git stash
暂时保存当前的修改并清空工作目录,适用于你想在当前分支上进行其他操作但不希望提交当前更改时。
保存当前工作:
git stash
查看已存储的工作:
git stash list
恢复已存储的修改:
git stash apply
2. git reset
用于回退到某个历史提交。可以用来撤销提交、恢复文件到特定状态。
软回退,保留工作区和暂存区:
git reset --soft <commit-id>

硬回退,彻底删除工作区的更改

git reset --hard <commit-id>
3. git tag
创建标签,用于标记特定的提交,通常用于标记发布版本。
创建轻量标签:
git tag v1.0

创建带注释的标签:

git tag -a v1.0 -m "Version 1.0"

推送标签到远程:

git push origin v1.0


全文结束,如果觉得有收获,可以随手点个“赞”或者“在看”,也欢迎分享文章到朋友圈和技术群。

推荐专栏

------------------ END ------------------

关注公众号,获取更多精彩内容


DevOps实战派
DevOps、SRE和运维领域资深技术老鸟;公众号主要分享相关领域的专业知识。
 最新文章