项目创建![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/bea8d0dcc9c62ebbf3a90b47664245e6.png)
练习记录
构建多分支
先把项目给拉下来,开始整理,我会在实际的项目中随便构建一些文件来git以便练习。
git clone https://gitee.com/ChrisEighteen18/git_branch_practice.git
1791 git checkout -b feature/test_1
1792 git stats
1793 git status
1794 git commit -m "test-1"
1795 git status
1796 git add .DS_Store
1797 git status
1798 git commit -m "test_2"
1799 git status
1800 git log
1801 git push
1802 git push --set-upstream origin feature/test_1
1803 git log
1804 git branch "helloworld"
1805 git checkout helloworld
1806 git branch
1807 git checkout 9d457335a307a61ee9e22d407648e185c9689534
1808 git log
1809 git status
1810 git branch
1811 git pull
1812 git reset
1813 git log
1814 git branch "helloworld"
1815 git branch -d helloworld
1816 git branch -D helloworld
1817 git checkout -b helloworld
经过上述git之后构建几个分支得到如下的分支情况:截图至fork软件
git push
以及git pull
啥的就不过分强调了。主要练习不常见的,分支管理啥的。
rebase 和Merge
git rebase feature/test_1
关于rebase和merge的区别,可以参考文章git rebase 与 merge 的那些事儿~(详细图解,通俗易懂)
经过git上新的代码后:
当我想在helloworld分支merge到test_1中,弹出如下编辑框但是还退出不来?!
git merge feature/test_1
执行git merge origin/master命令出现命界面退出
如果进行合并操作的时候,被要求的分支将会被包含在这个合并弧中,保留申请分支如下图所示:
cherry-pick
想将test的该节点挪到helloworld2中。可以采用cherry- pick实现。
基本思路切到hello2分支上,然后再cherry-pick
。
git cherry-pick e8a440adefe1a6b96a20e8338fa59ad642d641bc 843a2d6bff1eceb3f8f7f19ba3c6daef686bd091
git reflog
但是我发现这个问题很恶心,我cherry-pick的顺序错了。我想先按照test那个分支的东西走的。
【Git】误用一个分支reset到其他的分支想要回滚的解决方法 我想回滚。
确定回滚东西,然后回撤reset
即可。
git reset c0bf8a7
然后cherry-pick
一哈:
git cherry-pick 843a2d6bff1eceb3f8f7f19ba3c6daef686bd091 e8a440adefe1a6b96a20e8338fa59ad642d641bc
拉拉推推一下就变成这个样子。
删除分支(本地&远端)
但是现在的分支就很丑,我不需要test_1的分支了。
Git命令远程删除分支
删除远端的
git push origin --delete [branch_name]
远端的干掉了。现在就弄本地的。
git branch -D feature/test_1
干净多了!完美~