那我们说过工作流了,就具体务实一点,我们具体该怎么做。
1. 安装配置好git(就是发给大家的资料,大家按照一般就是没问题的)
2. 在你的pc上的任意位置,运行git clone url命令,将远程版本库下载到本地。这样你本地就拥有了和中心服务器一样的本库。
3. 日常会碰到的场景
3.1创建了一个新文件,需要添加到版本库里(追踪此文件)使用git add filename命令,我想保存一下,使用git commit -m ..... 我想把我改变的推送给其他人(服务器)git push -u origin master(提交代码)。
3.2我想把别人改变的代码拉去过来其实有两种方法git fetch与git pull。它们都是将从服务器上拉取最新的代码。那么它们什么区别呢?Git fetch 是仅仅将代码拉取下来,而git pull 不仅将服务器上的代码拉去下来,而且进行了合并merge。总结一下就是git pull 包含了 git fetch + git merge。
这里说到了merge,它的作用就是讲一个分支的代码合并到当前分支。
3.3原来的有个文件,想删除了,使用git rm file(停止追踪文件并从磁盘上删除),如果我们只想将 停止追踪文件,但是不删除只需要 git rm --cached <file>。然后想把这个改变推送给别人,就应该是用git commit 然后git push 将自己的改变推送到git服务器。
3.4 那么平时我们收到一个新功能的任务,应该是怎样的操作呢?比较正确的操作流程应该是这样,我们先使用git branch 查看一下我们本地到底有多少分支,然后我们先使用git branch <new branch>从develop分支新建一个分支featureN,然后使用git checkout <branch/tag> 切换到新建的featureN分支里。在新的分支里进行新功能开发。
3.5 我们在进行新功能开发的时候,每实现一个小功能的时候,我们就git commit 进行提交一下,刚提交完,突然发现,这次提交的东西会严重影响其他功能,想撤销这次提交,我们需要使用git reset --hart HEAD 来撤销工作目录中所有未提交文件的修改内容。那么如果我们想撤销指定的一次提交呢?我们需要使用git revert <commit> 进行指定的提交。
3.6假设开发完毕后,应该怎么做?对,就是将新功能的分支合并到develop分支里。就是先切换到develop分支里,然后使用git merge 命令进行合并。这时,新功能开发完毕,新建的featureN分支就没用了,我们使用git branch -d <branch>将无用的分支删除。至此,我们新功能开发完毕。
3.7 工作中我们常常需要查看日志文件,来确定别人或者自己做了什么操作,什么功能是谁提交的,哪个时间发生了冲突都需要使用git log查看日志文件来确定。Git log 作用很大,功能也很多。