[经验] Git

一开始,我的git(大概)流程

git status
git branch
git add .
git commit -m "myProject_machuang"
git push origin machuang

一开始工作的时候,可能轮不到你合并,这些命令已经满足基本版本控制需求了 :-)

查看远程分支

git branch -a

拉取已经提交的分支

root@vagrant-ubuntu-trusty-64:/vagrant/operate# git fetch
remote: Counting objects: 101, done.
remote: Compressing objects: 100% (60/60), done.
remote: Total 101 (delta 76), reused 61 (delta 40)
Receiving objects: 100% (101/101), 21.86 KiB | 0 bytes/s, done.
Resolving deltas: 100% (76/76), completed with 25 local objects.
From git.4000669696.com:myProject
   64f7dcf..8059f6b  sunjiankui -> origin/sunjiankui
 * [new branch]      wanglei    -> origin/wanglei
   ec419a7..eb2fb9a  wangze     -> origin/wangze
 * [new branch]      wujian     -> origin/wujian
   e13f70d..83761b7  zhangyuchao -> origin/zhangyuchao

合并

root@vagrant-ubuntu-trusty-64:/vagrant/operate# git merge origin/sunjiankui

合并后,检查冲突:

root@vagrant-ubuntu-trusty-64:/vagrant/operate# git diff

有冲突会爆出来,比如:

CONFLICT (content): Merge conflict in app/Http/routes.php

打开编辑器,处理了冲突之后,添加,提交被修改的文件到暂存区。

root@vagrant-ubuntu-trusty-64:/vagrant/operate# git add .
root@vagrant-ubuntu-trusty-64:/vagrant/operate# git commit -m "merge wanglei"
[machuang 3851ca1] merge wanglei
root@vagrant-ubuntu-trusty-64:/vagrant/operate# git diff
root@vagrant-ubuntu-trusty-64:/vagrant/operate# git status
On branch machuang
nothing to commit, working directory clean

合并完所有的分支,这是可以提交到主分支origin/master了。

git push origin machuang:master

注意,如果合并(git merge)的时候有冲突,即使是缓存冲突,git就不会自动提交,怎么办?

口答:需要手动add,commit,然后工作区干净了,就可以进行push操作了。另外这个命令可以查看发生冲突的地方:

git diff
//vi 处理冲突过程
git add .
git commit -m 'anything is ok! 2016_11_10'

如果自己的远程分支推不上去,怎么办?

口答:可以先推到其他的一个分支,让master来合并。

git push origin machuang:ma

删除远程分支命令:

git push origin --delete machuang

git修改远程仓库地址

先删后加:

    git remote rm origin
    git remote add origin [url]

注意:

1.开发之前要记得先拉取origin/master的最新版本,这样写的东西不会和origin/master产生冲突。
2.有时候推到自己的远程分支上,推不上去,可能真的是网速太慢的问题。
3.当在服务器上调试完了之后,不需要服务器上的修改,遥测小的时候,一条命令还原它:

git checkout -- .

后记

git经验笔记会不定时更新。
我整理文章的初衷并不是做一个git命令大全,而是做一个实用技巧的整理,让初学者不用在遇到报错的时候,只有删掉项目重新拉取这一个办法。本文原创,但我的git入门和领悟得益于阮一峰zrong的开源精神。


再见 ;-》

是非之外有一座花园,我们会在那里相遇
Martist
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 1
ThinkQ

学习到了!谢谢!

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!