Git常用命令详解:分支、暂存与回退操作

需积分: 7 4 下载量 114 浏览量 更新于2024-09-05 收藏 16KB DOCX 举报
在本文档中,我们深入探讨了Git,一种流行的分布式版本控制系统,主要关注于常用的命令及其在项目开发过程中的应用。以下是关于Git命令的详细解读: 1. **分支操作**: - **git branch**:用于创建新的本地分支。这个命令创建了一个指向当前提交的引用,但并不会切换到新分支。 - **git branch -b [branch-name]**:不仅创建新分支,还会将HEAD指针移动到新分支上,方便立即切换到该分支进行工作。 - **git checkout [branch-name]**:用于切换到指定的分支,可以是本地分支或远程分支(如origin/分支名)。 - **git branch** 和 **git branch -avv**:分别列出所有本地分支及其最后一次修改的提交,以及当前分支的完整历史。 - **git branch --merged** 和 **git branch --no-merged**:分别显示已与当前分支合并和未合并的其他分支列表,帮助管理分支状态。 - **git branch -d [branch-name]** 和 **git branch -D [branch-name]**:删除本地分支,-D表示强制删除,即使分支仍有未提交的更改。 - **git branch origin/[branch-name]**:将本地分支与远程仓库的分支关联。 - **git merge [branch-name]**:合并指定分支到当前分支,`--no-ff` 参数用于合并时保留提交历史。 2. **暂存操作**: - **git stash**:临时保存当前工作区的修改,便于切换分支或处理其他任务。 - **git stash apply [stash-id]**:恢复暂存区的最新一次改动。 - **git stash pop**:恢复并丢弃最近的暂存,若需要,可使用 `stash list` 查看所有暂存记录。 - **git stash drop [stash-id]**:移除指定暂存记录。 - **git stash clear**:清空整个暂存区。 3. **回退操作**: - **git reset --hard HEAD^**:回退到上一个提交,`--hard` 表示重置文件到指定版本,忽略暂存区。 - **git reset --hard commit_id**:根据提交ID回退到指定版本。 - **git checkout --file [file]**:撤销单个文件的暂存或版本库更改。 - **git reset HEAD file**:仅从暂存区撤回对文件的更改,保留文件在版本库中的状态。 4. **标签操作**: - **git tag [tag-name]**:创建一个新的标签,默认对应当前提交。 - **git tag [tag-name] commit_id**:为特定提交打标签,并允许添加备注。 - **git tag -a [tag-name] -m 'description'**:创建带有注释的新标签。 - **git tag --list**:查看本地的所有标签。 - **git show [tag-name]**:查看标签所指向的提交详细信息。 - **git tag -d [tag-name]**:删除本地的标签。 - **git push origin [tag-name]** 或 **git push origin --tags**:将标签推送到远程仓库。 5. **常规操作**: - **git push origin test**:推送本地的test分支到远程仓库。 - **git rm -r --cached [file/folder]**:取消版本控制文件或文件夹,但保留本地文件。 - **git reflog**:查看命令历史记录,用于查找丢失的提交或恢复历史。 - **git log --graph**:展示分支合并图,便于理解分支发展和合并关系。 这些命令构成了Git开发工作流程的基础,熟练掌握它们能够有效管理和协作开发项目,保持代码版本的清晰与一致性。通过实际操作和实践,开发者可以更高效地使用Git来维护代码库的健康和组织结构。