Git进阶

一、基本命令

1、git  init                                                                              初始化本地仓库

2、git remote add origin  '远程git仓库地址'                          绑定一个远程仓库,并将远程仓库别名设置为origin

3、git pull origin master                                                        从远程仓库获取最新代码

4、git clone '远程git仓库地址'                                                相当于直接运行1、2、3

做了修改后

5、git  status                                                                          查看当前改动了哪些文件

6、git add  '一个文件的路径'                                                将改动的这个文件提交到暂存区

7、git add  '一个文件夹'                                                          将文件夹下所有的改动提交到暂存区

8、git add *                                                                            将所有改动的文件提交到暂存区。

说明:6、7、8对已经排除追踪的文件不生效(排除追踪的文件在.gitignore文件中定义)。如果一个文件被停止追踪了,可用 git add -f  .... 来强制提交。

9、git commit -m "提交说明"                                                    对本次要提交的的文件进行说明

10、git push origin master                                                      将修改的文件提交到远程仓库。

11、git checkout -b  dev                                                            创建一个名为dev的新分支,并切换到dev分支,dev的内容取决于你再哪个分支上执行该命令

12、 git branch dev                                                                  创建一个名为dev的新分支,但是不做切换动作。dev的内容取决于你再哪个分支上执行该命令

13、git  checkout  dev                                                              切换到dev分支,切换分支要保证工作区纯净。

14、git merge  dev                                                                    将dev分支的改动合并到目标分支。目标分支为你当前工作区所在的分支。

15、git branch -a                                                                      查看所有的分支

16、git branch -d  dev                                                              删除本地dev分支

17、git push --delete origin dev                                                删除origin对应的远程仓库的dev分支

18、git checkout '文件路径'                                                      撤销一个文件的改动

19、git reset '文件路径'                                                            将一个文件撤出暂存区,保留修改。

二、高级用法(针对场景)

(1)需求做了一半告诉你需求有变化,不再做了,如果你此时还没有进行commit

  git reset --hard                                                                       

(2)代码已经commit ,还未进行push

  git reset --hard    '上一次提交的版本号'                                               

  (3) 代码已经commit,但是发现不该提交的文件也在里面

  git reset --mixed  '上一次提交的版本号'      将提交撤销,把所有文件从本地仓库退出保持自      己修改的状态

  (4)  代码已经commit ,提交说明写的不太好,想重新修改下提交说明

  git reset --soft  '上一次提交的版本号'   

(5) 代码改了半天,发现自己改错分支了。

    git add .

    git stash

    git checkout '对的分支'

    git stash pop

    (6) 代码不但做错分支了,而且还提交到远程了。

    错误分支 git reset --soft '上一次提交的版本号'

    git stash

    git checkout '对的分支'

    git stash pop

    git commit -m "版本说明"

    git push origin '对的分支'

    git checkout 错的分支

    git push origin 错的分支 --force     

  (7) 已经发布一期,二期内容还未完全开发完。客户急着想要二期的一个功能。该功能二期已经开发完。可在一期的分支上执行:

  git cherry-pick '该功能所形成的版本号'

如果有多次提交可按  git cherry-pick  功能版本号1 功能版本号2

注意,抽取功能过程中可能会产生冲突。需要解决冲突后再继续cherry-pick

(8)合并代码某个冲突文件已经搞不太清楚是保留谁的版本合适。

  git checkout  --conflict=diff3  '已经merge冲突的某个文件'。

  此命令每个冲突的文件会产生三段标志,第一段为自己修改的。第二段是自己修改前的。第三段是别人修改的。

  如果你喜欢这种方式来合并代码可使用 git config --global merge.conflictstyle diff3 全局修改。这样修改后,每次merge产生的冲突文件都会以三段标志的方式来呈现。

git config --global merge.conflictstyle merge  可修改回正常的二段标志方式呈现。


合并代码示意图:

git分区

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容

  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,511评论 0 13
  • 我依旧夜夜失眠,却再也不会打扰你了。
    RY麦布阅读 225评论 0 0
  • 功能:根据圆周率和地球半径系数与两点坐标的经纬度,计算两点之间的球面距离。 获取两点坐标距离: 更新SQL:
    这真的是一个帅气的名字阅读 917评论 0 4
  • 犹如流星划过 稍纵即逝 留下世人无尽的遐想 生命与你如果是一场旅行 你与我们而言则是一次奇迹 我们不相关 却相互交...
    北辰浪儿阅读 542评论 2 8
  • 天气很好,春天的温暖感觉。 只是心里空落落的,没有淇淇在身边的日子,总会少了很多的滋味。 希望宝贝儿天天开心,望你...
    赵淇淇阅读 56评论 0 0