git 命令记不住?用 IDEA 点鼠标总可以把?
概念
理解 3 个 git 的概念
- 工作区(working tree):在工作区做修改
- 暂存区(index/stage):存放已经修改准备提交的内容
- branch(commit):本地版本库
但是在使用 IDEA 中的 git 插件时情况与上面的不同,我们更多地是在处理“已经 add” 的文件与“已经 commit” 的文件之间的对比。
未 add 的文件,我们永远不用去管,但是如果存在已 add 但是未 commit 的文件时会有些麻烦
- 在 revert 时,被阻止,要求先将 2.txt 进行 commit 或者 stash (相当于是一个暂存区)
在 IDEA 中的使用
分支
创建分支
在选中的 log 上,如图创建,将回到历史状态
如果当前有修改没有提交,就会出现下图:Smart Checkout 解决冲突;Force Checkout 强制,当前修改都消失。
将新的分支推送到远程
删除分支
先切换到其它分支,再删除,本地和远程分支都在这里删除,删除没有先后顺序
Revert
对指定 log ”2“ 进行 “Revert Commit”,需要解决冲突
如果点击 cancle 不解决冲突,README.md 文件中会有目标版本 2 与当前版本 4 还有它的上一个版本 1 的冲突信息,但是没有目标版本 2 的信息
点击 Resolve 重新解决冲突
回退到版本 2 成功,生成一个新的提交
Reset
重置当前分支的指针到指定版本,并且选择如何处理当前工作区的内容。
1. Soft
最懒的,只移动个指针而已,当前工作区文本不做任何改变
2. Mixed
只有 2.txt 这个文件改变了
3. Hard
最干脆的,完全回到版本 3 ,一切都会改变
4. Keep
最聪明的方式,让我们解决冲突,并且把已经修改的内容都暂存起来