git 工作中使用流程总结(个人经验操作,具体情况,看需求)
需求: 在clone下来的master分支继续进行部分模块的功能开发。操作如下:
1. 去gitlab/github上clone代码
git clone
2. 切换到项目名对应的路径下,此处就随便起一个项目名称,spiderman
cd spiderman
注: 现在是主分支下的操作
3. git status一下,确保master分支没有被开发过(是个感觉的分支代码),养成好习惯,一切在自己checkout出来的开发分支进行开发。
如果主分支master被开发过的话,看一下是否重要,如果重要,不舍得修改过的代码,就可以用git stash (这种情况是早就clone下的代码并修改过)
git status
git stash
git stash 过后的代码,写完代码,想恢复的话,用git stash pop
git stash pop
如果不想恢复的话,可以drop掉
git stash list
git stash drop
注: 如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。git stash clear 是清除所有stash,整个世界一下子清净了!
好,接下来就要开始进行开发的操作了。。
4. checkout一个新的分支,进行开发,此处ck出的分支名,最好有意义,一看就知道哪个项目,有时候,可能需要同时负责几个项目
git checkout -b feature/invitations_from_yuwen_reset
5. 好了,在这个feature/invitations_from_yuwen_reset开发分支进行开发吧
此处省略开发的代码。。balabala~~~~
6. 开发完之后,该提交代码了。
*几点检查吧:(如果对自己极其有信心的可以不看,忽略此步)
(1)git status 看一下都开发了哪些文件
(2)git diff 检查一下,自己修改过的文件,是否符合自己的开发需求
* 检查后,要提交代码
(1)git add . (全部提交,也可以单个提交 git add
git add .
(2) git commit -m "tip message" (""里的提示内容一定要写明你这次提交的大概内容,让别人和自己日后好分辨是什么)
git commit -m "tip message"
(3)如果写错了提示信息,可以修改的
git commit --amend -m "tip messages"
git commit --amend -m "tip messages"
* git branch 查看一下自己有哪些分支
注:一般先切换sandbox,并部署,测试完毕,没有问题再切换master提交代码,部署production,步骤具体内容都是一样,测试过程中有问题,可以再切换到自己的开发分支,进行修改,这波操作可以确保一个干净,准确的代码推到了master上。
git checkout sandbox
注:这次不需要再git checkout -b sandbox (错误操作❌)哪怕是一个新clone的项目代码,sandbox 就在远程分支上,直接切换就好,
* 在snadbox上 git merge 自己开发分支的代码
git merge feature/invitations_from_yuwen
* 推送到sandbox上
git push -f origin sandbox
* 部署到sandbox
bundle exec cap sandbox deploy
----------此时确保么有任何问题的时候,然后部切换master,进行部署
(切换到master分支后,可以在master分支checkout出一个test分支,进行和master分支一模一样的操作,确保有其他意外发生,这步可以省略。)
git ck master
git ck -b test
git br
git merge feature/invitations_from_yuwen
git diff
ps: git diff 是为了查看一下有没有什么conflict,要手动修改,提交,再部署
以下是有conflict的情况:
git st
git diff
git add .
git commit -m "merge and fix conflicts"
修改好了conflicts ,接下来切换到master分支,和刚才test一样,一定会conflict,就是重复了刚才test分支的步骤,一模一样,
git ck master
git br
git merge feature/invitations_from_yuwen
git st
git add .
git commit -m "merge and fix conflicts"
git push origin master
cap production deploy
收尾:
做完开发后,可以删掉自己checkout出来的开发分支,
git br
git br -D test
git br -D feature/invitations_from_yuwen