这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
blog:ease:git:git-basic7 [13:30 - 09月10日] ease |
blog:ease:git:git-basic7 [03:42 - 09月02日] (当前版本) |
||
---|---|---|---|
行 5: | 行 5: | ||
- 鼓励频繁创建和合并,最强大的功能之一。 | - 鼓励频繁创建和合并,最强大的功能之一。 | ||
- | **分支原理:** | + | ===== 分支原理===== |
提交对象:\\ | 提交对象:\\ | ||
行 22: | 行 23: | ||
- | **创建分支:** | + | ===== 创建分支 |
< | < | ||
git branch bname | git branch bname | ||
行 34: | 行 36: | ||
- | **分支切换:** | + | ===== 分支切换 |
< | < | ||
git checkout test | git checkout test | ||
行 49: | 行 52: | ||
- | **查看项目的交叉历史** | + | ===== 查看项目的交叉历史 |
使用 gitg git gui(图形化工具比较直观) | 使用 gitg git gui(图形化工具比较直观) | ||
行 61: | 行 65: | ||
git config --global alias.tree 'log --oneline --decorate --graph' | git config --global alias.tree 'log --oneline --decorate --graph' | ||
</ | </ | ||
- | git tree 等同于命令: git log --oneline --decorate --graph | + | git tree 等同于命令: git log --oneline --decorate --graph\\ |
git tree --all | git tree --all | ||
- | **分支场景:** | + | ===== 分支场景 |
https:// | https:// | ||
行 77: | 行 82: | ||
- | **合并:** | + | ===== 分支合并 |
git merge 把某个分支 合并到当前分支。 | git merge 把某个分支 合并到当前分支。 | ||
行 95: | 行 101: | ||
- | **遇到冲突的分支合并**: | + | ===== 遇到冲突的分支合并 |
注意: 合并时 提示冲突。 此时git 对两个分支确实进行了合并,但是没有进行提交。解决冲突后,提交即可 | 注意: 合并时 提示冲突。 此时git 对两个分支确实进行了合并,但是没有进行提交。解决冲突后,提交即可 | ||
行 114: | 行 121: | ||
当所有冲突都解决后。可以 git commit 提交则表示合并提交完毕。 | 当所有冲突都解决后。可以 git commit 提交则表示合并提交完毕。 | ||
提交节点,显示两个父分支信息。(这个提交是一个合并提交。) | 提交节点,显示两个父分支信息。(这个提交是一个合并提交。) | ||
+ | |||
+ | |||
+ | ===== 分支管理 ===== | ||
+ | |||
+ | |||
+ | < | ||
+ | git branch 显示分支列表 | ||
+ | |||
+ | *ease | ||
+ | master | ||
+ | </ | ||
+ | |||
+ | 带有星号的是当前检出的分支,也就是HEAD 所指向的分支 | ||
+ | |||
+ | < | ||
+ | git branch -v 显示每个分支最后一次提交的信息。 | ||
+ | git branch --merged | ||
+ | iss53 | ||
+ | * master | ||
+ | |||
+ | 代表 iss53 已经合并到了 master 因此可以考虑删除掉 iss53 分支。因此不会丢失任何信息。 | ||
+ | git branch --no-merged | ||
+ | </ | ||
+ | !!注意 合并有一个方向问题。也就是父子关系,如果我们删除尚未合并的分支,因为他不是任何其他分支的父分支,因此将会找不到这个节点。 | ||
+ | (也有办法恢复。可以查查手册。) | ||
+ | |||