如何让git在命令行中高效工作,摆脱IDE的束缚?
- 内容介绍
- 文章标签
- 相关推荐

好吧,我承认,标题党了。但是你有没有想过是不是被IDE手把手喂得太习惯了?是不是已经忘了Git到底是怎么工作的了?我是这么觉得的。作为一个老程序员,我告诉你,用命令行才是王道!虽然一开始可能有点痛苦… 真的有点痛苦…,他破防了。
为什么你要学习Git命令行?
麻了... 这个问题问得好!其实一开始我也很抗拒,鼠标点点多舒服啊!但是后来发现,IDE那些图形化界面简直是给你画了个大饼。你根本不知道它在后台干了什么!而且一旦遇到复杂情况,比如冲突啊、rebase啊之类的,就懵了。用命令行,你才能真正理解Git的工作原理。当然啦… 也可能是主要原因是我年纪大了手指不太灵活了。
GUI工具的阴暗面
体验感拉满。 想想看吧… IDE里那些“Commit”、 “Push”、“Pull”按钮… 你知道它们具体施行了哪些命令吗?它们背后的逻辑是什么吗?你知道暂存区是什么吗?你知道HEAD指向哪里吗?不知道就对了!主要原因是GUI工具就是为了让你不用知道这些东西的。
Git的工作区域:一个混乱的解释
拯救一下。 好吧… Git的工作区域其实很简单… 真的很简单… 如果你没被IDE骗的话。主要有三个区域:
- Workspace : 就是你修改文件的那个地方。
- Staging Area : 你准备提交的文件都在这里躺着。
- Local Repository : 你的代码历史都保存在这里。
一言难尽。 这三个区域之间的关系就像一个流水线… 或者一个垃圾分类站?总之就是很复杂。
基本操作:add、 commit、status
这三个命令是你在Git命令行中最常用的。git add 把文件扔到暂存区;git commit 把暂存区的东西扔到本地仓库;git status 查看当前状态,我不敢苟同...。
新建一个名为aqi的文本, 然后在里面输入一行 Hello World,此时我施行 git status 查看工作区状态。
提示你aqi这个文件, 需要施行 git add 进行跟踪,那么我们施行 add 之后aqi就被放到了暂存区,再 git status 查看工作区状态。
表格:常用Git命令速查
| 命令 | 描述 | 举例 |
|---|---|---|
| git init | 初始化仓库 | git init |
| git add | 添加到暂存区 | git add aqi.txt |
| git commit | 提交到本地仓库 | git commit -m "Initial commit" |
| git log | 查看提交日志 | git log --oneline |
分支管理:像玩迷宫一样
分支是Git最重要的概念之一。它可以让你在不同的功能上并行开发而不会互相干扰。
使用 git branch 新建一个dev分支, 结果你猜怎么着? git checkout 切换到dev分支。 # 创建并切换到 dev 分支 相当于先创建再切换 , 一步创建并切换也行, 但个人觉得可读性较差. . . . . . . 。 # git checkout -b d 客观地说... ev # 创建 dev 分支 git branch dev #切换到dev分支 git checkout dev 在 dev 分支下我再添加一行数据,如下图所示: 注意: 上图只是示意图 暂存区也是分支之间共享的.这次我在 dev 分支上,直接 git commit 到本地仓库.
和第一次 git add 将文件添加到暂存区不同的是,这次只是提交变更到暂存区,所以可以使用git commit -a 来合并 add 和 commit 命令.,踩雷了。
进阶技巧:那些你可能永远用不上的东西
- Rebase: 我也不知道这是干嘛用的。
- Cherry-pick: 从另一个分支挑一些commit过来。
- Stash: 把当前的工作暂时保存起来。
再说说的吐槽

好吧,我承认,标题党了。但是你有没有想过是不是被IDE手把手喂得太习惯了?是不是已经忘了Git到底是怎么工作的了?我是这么觉得的。作为一个老程序员,我告诉你,用命令行才是王道!虽然一开始可能有点痛苦… 真的有点痛苦…,他破防了。
为什么你要学习Git命令行?
麻了... 这个问题问得好!其实一开始我也很抗拒,鼠标点点多舒服啊!但是后来发现,IDE那些图形化界面简直是给你画了个大饼。你根本不知道它在后台干了什么!而且一旦遇到复杂情况,比如冲突啊、rebase啊之类的,就懵了。用命令行,你才能真正理解Git的工作原理。当然啦… 也可能是主要原因是我年纪大了手指不太灵活了。
GUI工具的阴暗面
体验感拉满。 想想看吧… IDE里那些“Commit”、 “Push”、“Pull”按钮… 你知道它们具体施行了哪些命令吗?它们背后的逻辑是什么吗?你知道暂存区是什么吗?你知道HEAD指向哪里吗?不知道就对了!主要原因是GUI工具就是为了让你不用知道这些东西的。
Git的工作区域:一个混乱的解释
拯救一下。 好吧… Git的工作区域其实很简单… 真的很简单… 如果你没被IDE骗的话。主要有三个区域:
- Workspace : 就是你修改文件的那个地方。
- Staging Area : 你准备提交的文件都在这里躺着。
- Local Repository : 你的代码历史都保存在这里。
一言难尽。 这三个区域之间的关系就像一个流水线… 或者一个垃圾分类站?总之就是很复杂。
基本操作:add、 commit、status
这三个命令是你在Git命令行中最常用的。git add 把文件扔到暂存区;git commit 把暂存区的东西扔到本地仓库;git status 查看当前状态,我不敢苟同...。
新建一个名为aqi的文本, 然后在里面输入一行 Hello World,此时我施行 git status 查看工作区状态。
提示你aqi这个文件, 需要施行 git add 进行跟踪,那么我们施行 add 之后aqi就被放到了暂存区,再 git status 查看工作区状态。
表格:常用Git命令速查
| 命令 | 描述 | 举例 |
|---|---|---|
| git init | 初始化仓库 | git init |
| git add | 添加到暂存区 | git add aqi.txt |
| git commit | 提交到本地仓库 | git commit -m "Initial commit" |
| git log | 查看提交日志 | git log --oneline |
分支管理:像玩迷宫一样
分支是Git最重要的概念之一。它可以让你在不同的功能上并行开发而不会互相干扰。
使用 git branch 新建一个dev分支, 结果你猜怎么着? git checkout 切换到dev分支。 # 创建并切换到 dev 分支 相当于先创建再切换 , 一步创建并切换也行, 但个人觉得可读性较差. . . . . . . 。 # git checkout -b d 客观地说... ev # 创建 dev 分支 git branch dev #切换到dev分支 git checkout dev 在 dev 分支下我再添加一行数据,如下图所示: 注意: 上图只是示意图 暂存区也是分支之间共享的.这次我在 dev 分支上,直接 git commit 到本地仓库.
和第一次 git add 将文件添加到暂存区不同的是,这次只是提交变更到暂存区,所以可以使用git commit -a 来合并 add 和 commit 命令.,踩雷了。
进阶技巧:那些你可能永远用不上的东西
- Rebase: 我也不知道这是干嘛用的。
- Cherry-pick: 从另一个分支挑一些commit过来。
- Stash: 把当前的工作暂时保存起来。

