git reset --hard,版本回去某到某一版本,对本机的版本产生影响,不对远程分支产生影响。
git revert,撤销某一个,或者连续的多个版本,会对远程分支产生影响。这根git reset反思想的。
git stash,保存当前状态,可以理解成存档,用在切换分支时,又不想commit当前分支时使用。
git restore,单纯的撤销
git reset --hard,版本回去某到某一版本,对本机的版本产生影响,不对远程分支产生影响。
git revert,撤销某一个,或者连续的多个版本,会对远程分支产生影响。这根git reset反思想的。
git stash,保存当前状态,可以理解成存档,用在切换分支时,又不想commit当前分支时使用。
git restore,单纯的撤销
.gitignore可以忽略没有加入版本库中的文件或者文件夹,但是已经加入到版本库的,.gitignore是无用的。
我们有时会遇到这样的情况,正在dev分支开发新功能,做到一半时线上出严重bug,要马上解决,但是新功能做到了一半你又不想提交,这时就可以使用git stash命令先把当前进度保存起来,然后切换到主分支去修改bug,修改完提交后,再切回dev分支,使用git stash pop来恢复之前的进度继续开发新功能。下面来看一下git stash命令的常见用法和例子
git根svn一样,是帮助我们更好的管理代码。看见有的程序员,喜欢copy整个项目,为了备份。这样做,就会产生多个客户端,容易混淆,并且任何一处修改提交了,都会影响服务端的分支。如果我们commit时,把代码注释写清楚了,这样获取历史版本,会很容易。也不会产生很多的备份目录。
做自己的产品,分支还是很重要的。例如,我发布了一个app,但是有bug,又想做新功能,怎么办呢?如果只在一个git上开发的话,bug会越来越多,原来bug没改完,新功能开发,又会产生新的bug。这样的话,bug永远改不完,版本发布会一拖再拖。
正确的做法,主分支,开发新功能,创建的分支改bug,定期的将分支合并到主分支,对外发布的版本都新分支,改bug的版本,属于稳定版的。发版本成阶梯状。下面介绍一下用tortoisegit创建git分支的方法,个人觉得比较简单。
如果对git命令行不熟悉的话,用git图形界面工具,就比较合适了。建议使用tortoisegit这样的工具,命令行从学习到灵活掌握的时间成本比较高的。
想要达到的目的是,git服务端代码,迁移或者说是copy一份,原来的commit记录都保留下来,二个git服务端之间,相互不受影响。
本机装了双系统centos6.5,在centos下装了一套开发环境,发现linux下的git图形客户端好少,能用的更少。本想装一下gitg的,发现gitg要求的依赖包好新,centos基本上不能满足,如果非要用的话,要手动更新好多包,太麻烦。在centos下,推荐使用smartgit。