主要是介绍工作中经常用到的git的操作流程,比如提交,merge,冲突管理等等,至于如何创建自己的git账户,如何获取权限,可以参考其他博文
1.常用到的git操作命令
git branch branchname 创建一个branch 名字为branchname
git status 查看git的状态,这里是查看自己代码修改情况的很好的方法
git add file 将文件放在暂存区
git commit -m "修改信息提示或解释" 将文件从暂存区commit
git push origin yourbranch 将commit后的代码push到git的工作分支上
git stash 保存当前工作目录
git stash pop 将自己的工作目录的内容取出
git stash list 查看保存的工作目录的列表
git checkout 切换工作目录
git pull origin master 将代码从master更新到origin本地
2.与别人协同开发的时候操作流程
第一步:获取项目代码
在你的命令行输入
git clone +url
该url是你们项目组的代码地址,然后你可以在你的当前目录下看到该代码文件,cd到这个代码文件中,然后git branch一下 你会看到一个有一个默认的分支比如是master或者是develop,这个与你们项目组在git上所取名的分支有关。这个默认的分支(如master)就是你最终push到的分支。 这时候在分布式开发中你要建立你自己的分支,在命令行执行如下命令
git branch my_branch
此时你就创建了你自己的分支my_branch,然后切换到你自己的这个branch,在命令行执行如下命令:
git checkout my_branch
此时你在命令行输入如下命令:
git branch
你会看到有两个分支,一个是默认分支(如master),一个是你自己创建的分支(my_branch)
分支创建好以后,准备工作就完成了
第二步: 日常工作流程
比如你新的一天来到公司了,你首先要做的是把git上的主代码更新到本地,这样能够保持你始终与代码库中的代码是一致的。在命令行输入如下命令:
git checkout master //切换到默认分支
git pull origin master //更新代码到本地
git checkout my_branch //切换到自己分支
git pull origin master //将本地代码更新到自己分支
此时你的代码就跟代码库中的代码完全一致了。这期间不能出现任何问题,如果出现问题,下面会介绍冲突处理
此时你的代码跟版本库中的代码完全一致了,你就开始开发你自己的代码了,开发了代码,调试通过了以后,你想提交了此时执行如下步骤:
git add YourChangedFile
git status //此时你可以看到你修改的文件是绿色的
git commit -m "解释下你的修改"
git push origin yourbranch
此时你可以在git的网站上看到 下面一句话:
你 push了代码到yourbranch at 你们的项目名字
这个时候你的代码提交上去了已经,但是如果想加到代码库中,需要别人的审核,此时你在git的网站上看到你的提交记录的后面有个
creater new merge request
的提示,你点击进去,然后有个assign to 意思是提交给谁 你选中一个你们项目组的人的名字,提交给他看,他如果觉得可以了,就直接通过你这个mergeRequest,此时你的代码就入库了。这样一个开发流程就完成了
周而复始,执行上面这两部就ok了
下面介绍一下一个很重要的块:冲突管理
当你跟别人同时修改了同一个文件,或者是同时加了些代码,或者是修改了同一个函数名,在这种情况下都会出现冲突此时执行如下方法。
先更新代码到本地
git pull origin master
此时提示你有文件有冲突,然后git add/commit 你的修改 此时需要保存当前工作目录,然后更新代码,然后恢复工作目录,就自动做merge了。
git stash //保存当前工作目录
git pull origin master //更新代码
git stash pop //恢复当前工作目录,git merge
此时就会提示你哪些文件做了merge操作 你可以前往该文件进行处理
在冲突文件里 有如下提示的
<<<<<<<<<<<<<<<<<<<<<<
======================
>>>>>>>>>>>>>>>>>>>>>>>
<<<<<和======之间的是你自己的修改,==========和>>>>>>>>>>>>>>是别人的修改,此时你需要做的是看留下哪部分,如果要你的,就删掉别人的,如果是要别人的,就删掉你自己的,最后把这些merge的标记都去掉,否则会影响代码运行。
最后还有一个杀手锏,就是手动merge,靠肉眼看吧,骚年,你可以根据git提示出的哪些文件有冲突,用beyond compare 文本对比工具来进行分析查看哪些需要进行修改。这个方法虽然有点费时,但是效果还是不错的
好了,git的操作就介绍到这里,希望有用,新年快乐 今天lisa就要来北京了,还有比见女朋友更开心的事情么,么么哒!