【Git】git使用 - 各种常用场景命令解决
2017-04-12 22:56
489 查看
(多看git中的各种帮助-h/--help,可能有你想要的命令)
1、分支的创建和切换
创建 >>>> git branch branchName
切换分支 >>>> git checkout branchName
创建并切换到新分支 >>>> git checkout -b branchName
删除分支 >>>> git branch -d branchName (不能删除HEAD所在的branch,需先切换到别的branch后再删除)
合并分支 >>>> git merge <branchName>(存在参数branchName,标识将branchName分支合并到当前分支;如果不存在参数,表示将最新节点?commit?合并到当前分支,不知道怎么表达)
分支重命名 >>>> git branch -m branchName newName
2、删除远程/本地仓库中无用commit(回滚提交,谨慎使用)
现在的remote中的log。(本地仓库已commit未push的处理是一样的)
![](https://images2015.cnblogs.com/blog/1025273/201704/1025273-20170412225545345-1708583552.png)
此时要舍弃掉”add problem”之后的3次提交。
i. git reset --hard eaef12481e848225ba3aca0b0b2e55bcd06c8725
(可以详细了解--hard的作用,针对不同的情况,可能用--mixed/--soft更好
--mixed reset HEAD and index
--soft reset only HEAD
--hard reset HEAD, index and working tree
)
![](https://images2015.cnblogs.com/blog/1025273/201704/1025273-20170412225547408-1177284568.png)
ii. git push --force (只要是--force/-f都要注意使用,小心没后悔药)
![](https://images2015.cnblogs.com/blog/1025273/201704/1025273-20170412225549689-908586146.png)
![](https://images2015.cnblogs.com/blog/1025273/201704/1025273-20170412225552486-768545148.png)
3、利用rebase合并commit。
作用,主要是想保证remote的commit log是线性的,且每次commit log/version都是有"每次"的含义,而不是多次连续的commit其实只需要一次commit log.
(见: 【Git】git使用 - rebase的使用)
4、git merge --squash <branch>
--squash create a single commit instead of doing a merge
作用,我们经常是在newBranch做一个功能然后merge到master,但在newBranch中也会有多次的commit。但是最后merge到master提交到远程仓库却只希望有1次commit log。
这样merge到master后,在master可以指定一次新的commit从而舍弃newBranch中的多次commit。
1、分支的创建和切换
创建 >>>> git branch branchName
切换分支 >>>> git checkout branchName
创建并切换到新分支 >>>> git checkout -b branchName
删除分支 >>>> git branch -d branchName (不能删除HEAD所在的branch,需先切换到别的branch后再删除)
合并分支 >>>> git merge <branchName>(存在参数branchName,标识将branchName分支合并到当前分支;如果不存在参数,表示将最新节点?commit?合并到当前分支,不知道怎么表达)
分支重命名 >>>> git branch -m branchName newName
2、删除远程/本地仓库中无用commit(回滚提交,谨慎使用)
现在的remote中的log。(本地仓库已commit未push的处理是一样的)
![](https://images2015.cnblogs.com/blog/1025273/201704/1025273-20170412225545345-1708583552.png)
此时要舍弃掉”add problem”之后的3次提交。
i. git reset --hard eaef12481e848225ba3aca0b0b2e55bcd06c8725
(可以详细了解--hard的作用,针对不同的情况,可能用--mixed/--soft更好
--mixed reset HEAD and index
--soft reset only HEAD
--hard reset HEAD, index and working tree
)
![](https://images2015.cnblogs.com/blog/1025273/201704/1025273-20170412225547408-1177284568.png)
ii. git push --force (只要是--force/-f都要注意使用,小心没后悔药)
![](https://images2015.cnblogs.com/blog/1025273/201704/1025273-20170412225549689-908586146.png)
![](https://images2015.cnblogs.com/blog/1025273/201704/1025273-20170412225552486-768545148.png)
3、利用rebase合并commit。
作用,主要是想保证remote的commit log是线性的,且每次commit log/version都是有"每次"的含义,而不是多次连续的commit其实只需要一次commit log.
(见: 【Git】git使用 - rebase的使用)
4、git merge --squash <branch>
--squash create a single commit instead of doing a merge
作用,我们经常是在newBranch做一个功能然后merge到master,但在newBranch中也会有多次的commit。但是最后merge到master提交到远程仓库却只希望有1次commit log。
这样merge到master后,在master可以指定一次新的commit从而舍弃newBranch中的多次commit。
相关文章推荐
- git 实际开发中常用命令及使用场景
- GIT常用命令 && GIT本地使用 && GIT报错解决 && GIT的忽略文件(ignore files)
- GIT常用命令 && GIT本地使用 && GIT报错解决 && GIT的忽略文件(ignore files)
- GIT常用命令 && GIT本地使用 && GIT报错解决 && GIT的忽略文件(ignore files)
- Git 常用命令 和使用方法
- git乱码解决及常用命令
- Git Bash+EGit在项目中配合使用最常用方法总结(根据场景使用)
- mysql的show命令使用方法// git常用命令
- Git的初次使用 ; Git常用命令查询 ; Git push ; Git pull 2011-12-16 17:32 在介绍安装和简单使用前,先看一下百度百科中的简介吧: ———————————
- Git使用基础篇(一些常用命令和原理)
- Github使用教程(二)-- Git常用命令
- 1git命令的使用,查看git仓库状态,添加文件到git跟踪,git提交,查看git分支,查看git仓库日志信息,切换git分支,解决git分支合并后出现冲突的问题
- Git的初次使用 ; Git常用命令查询 ; Git push ; Git pull
- Git 使用教程(4)—— Git 常用命令集合
- git开发流程、常用命令及工具、TortoiseGit使用及常见问题
- Git的初次使用 ; Git常用命令查询 ; Git push ; Git pull 2011-12-16 17:32 在介绍安装和简单使用前,先看一下百度百科中的简介吧: ———————————
- Git 使用教程(4)—— Git 常用命令集合
- git 常用命令使用实践总结-wish
- 解决MAC上使用Jenkins各种命令找不到的问题
- Git 常用命令用法:程序员的场景