Git 基本指令
Git 基本指令什么是 GitGit 是一个分布式版本控制系统通俗来说就是帮你管理代码版本的工具。比如你今天改了代码明天想回退到昨天的版本Git 就能帮你做到。多人协作的时候大家各写各的最后合并到一起也是靠 Git。Git 工作区域先搞清楚三个区域不然后面指令容易懵工作区Working Directory就是你电脑里的文件夹写代码的地方暂存区Staging Area中间站git add之后的文件就放这等着提交仓库Repositorygit commit之后代码就正式存入本地仓库了git addgit commitgit pushgit pull工作区暂存区本地仓库远程仓库一、基础配置设置用户名和邮箱装完 Git 第一件事不然提交的时候不知道是谁干的gitconfig--globaluser.name你的名字gitconfig--globaluser.email你的邮箱--global表示全局生效这台电脑上所有仓库都用这个配置查看配置gitconfig--list# 查看所有配置gitconfig user.name# 单独看某一项二、仓库操作初始化仓库gitinit# 在当前目录创建一个 Git 仓库会多一个 .git 隐藏文件夹克隆远程仓库gitclone仓库地址# 把远程仓库拉到本地仓库地址可以是 HTTPS 或 SSH推荐 SSH不用每次输密码三、日常提交三板斧这仨指令是最常用的基本每次改完代码都要走一遍1. 查看状态gitstatus# 看看哪些文件改了、哪些还没 add红色的是还没 add 的绿色的是已经 add 但还没 commit 的2. 添加到暂存区gitadd文件名# 添加指定文件gitadd.# 添加所有改动gitadd*.java# 添加所有 java 文件3. 提交到本地仓库gitcommit-m提交说明-m后面跟提交信息写清楚干了什么别乱写方便以后回看gitcommit-am提交说明# 相当于 git add . git commit -m只对已跟踪的文件有效四、远程仓库操作关联远程仓库gitremoteaddorigin仓库地址# origin 是远程仓库的别名习惯这么叫gitremote-v# 查看关联的远程仓库推送到远程gitpush origin main# 把本地 main 分支推送到远程gitpush# 如果已经建立了追踪关系直接 push 就行从远程拉取gitpull origin main# 拉取远程 main 分支并合并到本地gitfetch# 只拉取不合并先看看有啥变化再说指令区别git pull拉取 自动合并一步到位git fetch只拉取到本地不合并你可以先看看再决定要不要合建议先git fetch看看情况确认没问题再git merge比直接git pull稳妥五、分支操作分支就是一条独立的开发线大家各干各的互不影响最后再合到一起查看分支gitbranch# 查看本地分支前面带 * 的是当前分支gitbranch-a# 查看所有分支包括远程创建和切换分支gitbranch 分支名# 创建分支gitcheckout 分支名# 切换分支gitcheckout-b分支名# 创建并切换一步到位gitswitch 分支名# 新版 Git 推荐的切换方式和 checkout 效果一样合并分支gitmerge 分支名# 把指定分支合并到当前分支比如你在 main 分支执行git merge dev就是把 dev 的代码合到 main 里删除分支gitbranch-d分支名# 删除本地分支gitbranch-D分支名# 强制删除没合并过的分支用这个合并冲突两条分支改了同一个文件的同一个地方Git 不知道该听谁的就报冲突了# 冲突文件里会长这样HEAD 这是当前分支的内容这是要合并过来的内容dev手动把冲突解决掉删掉这些标记然后重新add→commit就行了六、查看与回退查看提交历史gitlog# 查看提交记录按时间倒序gitlog--oneline# 简洁模式一行一条gitlog--oneline--graph# 带分支图的简洁模式查看改动内容gitdiff# 查看工作区和暂存区的差异gitdiffHEAD# 查看工作区和最新提交的差异gitdiff分支1 分支2# 比较两个分支的差异回退版本gitreset--hardHEAD^# 回退到上一个版本gitreset--hardHEAD~n# 回退 n 个版本gitreset--hard版本号# 回退到指定版本--hard是硬回退工作区的内容也会被改掉慎用如果只是想把暂存区的文件撤回来用git reset HEAD 文件名撤销操作gitcheckout -- 文件名# 撤销工作区的修改回到最近一次 add 或 commit 的状态gitrestore 文件名# 新版 Git 推荐和上面效果一样暂存现场gitstash# 把当前没提交的改动暂存起来gitstash pop# 恢复最近一次暂存的内容gitstash list# 查看所有暂存比如你在 dev 分支写了一半突然要去 main 修个 bug用 stash 把写到一半的东西存起来切回来再取出来继续写七、常用指令速查表场景指令初始化仓库git init克隆仓库git clone 地址查看状态git status添加到暂存区git add .提交git commit -m xxx推送git push拉取git pull创建切换分支git checkout -b 分支名切换分支git switch 分支名合并分支git merge 分支名查看日志git log --oneline --graph回退版本git reset --hard 版本号暂存现场git stash/git stash pop八、一个典型的工作流程# 1. 拉取最新代码gitpull# 2. 创建自己的开发分支gitcheckout-bfeature/xxx# 3. 写代码...写代码...写代码...# 4. 看看改了啥gitstatus# 5. 提交gitadd.gitcommit-m完成了xxx功能# 6. 切回 main拉最新代码gitcheckout maingitpull# 7. 把自己的分支合进来gitmerge feature/xxx# 8. 推送到远程gitpush origin main# 9. 分支没用了删掉gitbranch-dfeature/xxx实际工作中第 7 步通常不是自己直接 merge 到 main而是提 Pull RequestPR让别人 review 完再合这里简化了一下。

相关新闻