潍坊做网站教程,网站建设工作台账,游戏租号网站开发,企业管理顾问东莞网站建设Git作为世界上最流行的分布式版本控制系统#xff0c;以其强大的分支管理、高效的协同工作能力和完善的版本追溯功能#xff0c;深受广大开发者喜爱。熟练掌握Git的常用命令是每一位程序员必备的技能。本文将深入解析Git中那些最为基础且实用的命令#xff0c;助您在日常开发…Git作为世界上最流行的分布式版本控制系统以其强大的分支管理、高效的协同工作能力和完善的版本追溯功能深受广大开发者喜爱。熟练掌握Git的常用命令是每一位程序员必备的技能。本文将深入解析Git中那些最为基础且实用的命令助您在日常开发工作中游刃有余。
一、初始化与配置
1. git init
用途 在当前目录下创建一个新的Git仓库。
git init
执行此命令后Git会在当前目录下生成一个隐藏的.git目录其中包含了管理仓库所需的必要文件和数据结构。至此该目录便成为了Git仓库的根目录您可以开始在此处进行版本控制。
2. git config
用途 设置Git的全局或局部配置选项。
git config --global user.name Your Name
git config --global user.email your.emailexample.com
使用git config可以设置Git的用户信息、编辑器偏好、代理设置等。上述命令设置了全局的用户名和电子邮件地址它们将随您的每一次提交一同记录。如果您需要为特定仓库设置不同的配置去掉--global即可。
二、工作区与暂存区操作
3. git add
用途 将工作区的文件添加到暂存区Staging Area。
git add file
git add .
git add file将指定文件的当前状态添加到暂存区准备纳入下一次提交。使用git add .可将所有修改、新添加或删除的文件一次性添加到暂存区。
4. git rm
用途 从工作区和暂存区移除文件并跟踪其删除状态。
git rm file
此命令会从工作目录中删除指定文件并将其从暂存区移除以便在下一次提交时记录该文件的删除操作。
5. git restore
用途 撤销工作区的改动或恢复暂存区的文件到HEAD版本。
git restore file # 恢复工作区文件到最近提交状态
git restore --staged file # 取消对文件的暂存恢复到HEAD状态
git restore命令可以用来撤销对工作区文件的改动或者将已暂存的文件恢复到最近提交的状态不保留本地更改。
三、提交与版本回溯
6. git commit
用途 将暂存区的改动提交到本地仓库形成一个新的提交点。
git commit -m Commit message describing changes
通过-m参数后跟提交说明将暂存区的所有改动保存为一个提交对象并附带提供的说明文字。提交是Git版本控制的基本单元每个提交都包含一个指向父提交的指针和一组改动。
7. git commit --amend
用途 修改最近一次提交的信息或合并未暂存的改动。
git commit --amend -m New commit message
此命令允许您修改最近一次提交的说明或者将当前未暂存的改动合并到最近那次提交中从而保持提交历史的整洁。
8. git log
用途 显示提交历史包括作者、日期、提交信息等。
git log
git log --oneline --graph --decorate
git log默认显示详细的提交历史。加上--oneline、--graph和--decorate参数可以得到简洁、图形化且带有分支标记的提交历史视图。
9. git reset
用途 重置当前分支的HEAD指向撤销提交或回滚暂存区和工作区的改动。
git reset HEAD file # 从暂存区移除文件保留工作区改动
git reset --hard HEAD~1 # 回退至上一个提交丢弃所有未提交的改动
git reset --hard commit-id # 强制回退到指定提交丢弃所有后续提交和未提交的改动
git reset提供了不同级别的重置操作可以根据需要撤销暂存、回滚提交或彻底回到过去的某个提交状态。
四、分支与合并
10. git branch
用途 列出、创建或删除分支。
git branch # 列出所有本地分支
git branch new-branch # 创建名为new-branch的新分支
git branch -d old-branch # 删除已合并的old-branch分支
git branch -D stubborn-branch # 强制删除未合并的stubborn-branch分支
通过git branch命令您可以查看、创建和删除分支便于在不同开发线程间切换和管理代码版本。
11. git checkout / git switch
用途 切换到指定分支或恢复工作区文件。
git checkout branch
git switch branchgit checkout file # 从HEAD恢复单个文件到工作区
git switch --discard-changes file # 类似效果适用于较新版本Git
git checkout或git switch推荐在较新版本Git中使用用于切换分支或恢复工作区文件到指定提交或分支的状态。注意对于文件恢复操作git switch在较新版本中提供了更明确的选项。
12. git merge
用途 合并指定分支到当前分支。
git merge branch
执行此命令后Git将尝试将指定分支的改动合并到当前分支如果合并过程中遇到冲突需要手动解决冲突并再次提交。
13. git rebase
用途 将当前分支的提交历史“重放”到另一分支顶部实现线性化的提交历史。
git rebase branch
git rebase用于在保持提交内容不变的前提下改变提交的历史顺序使其看起来像是直接基于目标分支进行的开发。这有助于保持分支历史的清晰和整洁但需要注意可能会引入冲突且不应在已推送至公共仓库的分支上执行。
五、远程操作
14. git fetch
用途 从远程仓库获取最新的分支和提交信息但不自动合并。
git fetch origin
git fetch从指定的远程仓库如origin拉取所有分支的最新提交信息但不会自动合并到本地对应分支而是将远程分支更新保存为远程跟踪分支如origin/main。
15. git pull
用途 获取远程分支的最新改动并自动合并到当前分支。
git pull origin main
git pull相当于git fetch后紧跟git merge它会从远程仓库拉取指定分支的最新提交并尝试将其合并到当前分支。
16. git push
用途 将本地分支的提交推送到远程仓库。
git push origin local-branch:remote-branch
此命令将本地指定分支的提交历史推送至远程仓库的相应分支。若省略远程分支名默认推送到同名分支。如果远程分支不存在且远程仓库允许自动创建分支会创建新的远程分支。
六、其他实用命令
17. git status
用途 查看当前工作目录和暂存区的状态。
git status
git status是日常开发中频繁使用的命令它显示哪些文件被修改、新增、删除以及哪些文件处于暂存状态帮助您了解当前工作区与最近提交之间的差异。
18. git diff
用途 显示工作区、暂存区或提交之间的文件差异。
git diff # 工作区与暂存区之间的差异
git diff --cached # 暂存区与最近提交之间的差异
git diff commit-id # 工作区与指定提交之间的差异
git diff命令用于比较不同版本间的文件内容差异是定位代码变化、排查问题的重要工具。
19. git stash
用途 暂存当前未提交的改动清理工作区以便进行其他任务。
git stash
git stash list
git stash apply # 恢复最近一次stash的内容
git stash drop # 删除最近一次stash
git stash用于临时保存未提交的改动使工作目录恢复到干净状态便于切换分支或处理紧急任务。之后可以通过git stash apply或git stash pop恢复暂存的改动。