git 空间划分
1、工作空间 创建的文件颜色是红色都在工作空间
2、暂存区 解决冲突的区域,暂存工作空间提交的内容
3、本地仓库 使用git commit 提交,会将暂存区的代码提交到本地仓库
4、远程仓库 github 、gitlab 管理公共代码的,与本地仓库一致,本地仓库 push 即推送代码到远程仓库
git 常用命令
1. 查看本地以及远程分支
git branch -a
2.本地创建分支
git checkout -b dev
3. 推送本地分支到远程
git push origin dev:dev (第一个为本地分支:远程分支名称)
4.删除远程分支
git push origin --delete dev 远程分支名称
5.删除本地分支
git branch -D dev
6.切换分支
git checkout master
7.查看git 配置
git config --list
8.查看git 某一项配置
git config user.name(例如)
9.查看某一项命令的参数
git add -h
10.git clone 远程仓库到本地,可以自定义项目名称
git clone https://github.com/libgit2/libgit2 mylibgit
11.查看2条日志
git log -2
git merge 与 rebase
1. merge , 将目标分叉上的所有commit 一并应用到当前分支的commit ,并产生新的commit
git checkout master
git merge branch1
pull 的内部操作就是将远程代码merge 到本地分支
参考:https://www.jianshu.com/p/1a7e38cdbf76
rebase
1.合并多个commit 为一个完整的commit ,如下将 BCD 三个提交合并为一个提交
2.将某一段commit 应用到另一个分支上
https://www.jianshu.com/p/4a8f4af4e803
在 Idea 中使用 rebase
使用场景: test 分支有一些提交的内容 ,自己的分支 dev 也有一些提交,为了线性的显示提交的顺序,使用idea 将 test 分支的更新同步到当前分支 dev 上
rebase 使用条件
1.pick
保留当前分支的该commit
如上述,在 m 节点处,产生新分支 dev 。 master 分支产生新的commit C D , dev 产生新的分支 A B 。现在将master 分支的提交合并到 dev 分支。并且dev 与 master 分支的所有提交都保存 。使用 pick
git checkout dev
git rebase master
idea 操作
2.reword
保留该commit ,单是需要修改注释
3.edit
保留该commit,单需要修改提交
使用edit 后,需要使用
git add .
git continue rebase
4.squash
将该 commit 与前一个commit 合并
5.fixup
将该commit 与前一个commit 合并,但不保留该commti 的注释信息
使用fixup 提交
6.drop
使用的 drop 提交之前
直接删除该提交
注意:rebase 第一个提交不能是 squash 、fixup