git 实际开发中常用命令及使用场景-阿里云开发者社区

开发者社区> 开发与运维> 正文

git 实际开发中常用命令及使用场景

简介:

git 这个工具蛮强大的,每个公司都会有自己的githup或者gitblit的代码仓库管理,开发也必须使用git来提交代码,以前为了方便,就是一直使用sourcetree工具来提交和合并代码。最近抛弃了工具,发现git很多的有点及一些特殊场景来如何使用git。

git status || 查看当前状态,查看修改和新增的某些文件。

git branch || 查看本地的分支

git branch -a ||列出本地分支和远程分支,一般远程多个分支中,你只会有一个分支权限提交到上去,之于为什么会有多个分支,后面解释。

git branch -r ||列出远程分支

gtit branch -D ||强制删除某个文件里的内容,不需要了

git checkout -b test || 创建分支并切换到test分支上,比如你从Master上创建的test并且切换到分支,此时你的master的代码会自动Merge到test分支。

git checkout master|| 切换分支。

git checkout file ||修改的某个文件,突然间不想要了或者修改错了,就用这个命令即可,丢弃你本地此文件的修改。

git pull origin master || 拉去远程代码,一般会在早上做到工位后首先做的第一件事就是拉取一下代码或者提交代前要Pull一下代码,如果有冲突,就解决冲突,没冲突,就自然提交了。

git diff || 查看冲突的文件

git add . || 常用把当前分支的修改或者新增的文件,增加到Index上,这时还没提交。
也可以git add file文件,增加某个文件。

git commit -a "修改某个bug" ||commit一下刚才加入到Index上的代码,记住此时还在你本地呢,还没提交到远端。这个时候如果还不放心,那么再git pull origin master 拉取一下远端代码。

git commit -am || 是git add 和commit 的合并的写法。

git push origin master ||本地分支推到远端的Master分支,此时完美。

问题1:正在迭代某个功能的时候,测试人员测试出一个bug,怎么办?手里的功能才开发一半?
答:习惯用本地分支开发,养成良好的习惯可以带来很多的益处。每次迭×××发前本地应该有自己的分支。开发过程中遇到测试提出的bug怎么办?
1、git branch

$ git branch
 master
*  dev_sprint15

说明当前的分支是在第15次迭代的开发分支上。
2:git statsh 让自己的代码暂存,同时要依赖的model和service和dao都要暂存起来。因为其它的依赖层都要暂存起来,保不齐你修改了什么。
3、git checkout master 切换到开发分支上,然后git pull origin master 拉取一下代码。此时为了保险,我一般都会再创建一个bug分支,git checkout -b bug_11,创建并且切换到bug_11分支上,然后再这个分支上修改bug。如果修改完了,然后自测成功了。切换到git master(开发分支上),然后此时要把bug_11分支的代码merge分支过来。
4、git merge --no-ff "merge from xxxx" bug_11,合并一下代码。然后git push origin master即可。

问题2:线上突然发现一个严重bug,领导要求急需解决,不耽误线上客户正常使用,此时线上的代码和开发库的代码版本已经差得太远了,怎么办?
答:此问题在整理。

由于是个人见解,欢迎指出不对之处,谢谢!


本文转自 豆芽菜橙 51CTO博客,原文链接:http://blog.51cto.com/shangdc/2048553


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章