git实战笔记

  • 对于公司项目在远端仓库没有任何东西的时候,咋们可以通过在本地创建好仓库,然后同步到远程的仓库,此时你可以做的是:
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:xiangcman/test.git
git push -u origin master
  • 如果公司项目已经在远端仓库有代码的时候,此时你可以通过clone方式到本地:
git clone git@github.com:xiangcman/test.git
  • 如果远程的仓库中不存在该分支,你此时想要在本地创建好分支后,然后提交到远程的仓库中
git checkout -b dev1
git add .
git commit -m "创建了一个新的分支"
git push origin dev1

此时可以查看远端的仓库有哪些:

git branch -r
image.png

查看本地的仓库:

git branch
image.png

顺便来看下两个分支获取到的分支提交记录:

git log
image.png

从这里也看得出来两个分支提交的记录是dev1分支超前master分支的。
那下面就进行合并一次看看效果:

git merge origin/dev1
image.png

看到了没,此时master分支多了一条提交记录的。

git log --graph --pretty=oneline --abbrev-commit

该命令是可以查看分支提交的树状结构图的:


image.png

其实在用merge来合并的时候和rebase合并的时候没啥区别,只不过需要注意在合并时如果另一个分支有merge的记录,那么此时不会将该条merge的记录添加到该分支提交记录下。

  • 如果远程的仓库中已经存在dev1分支,而你想要加载到本地中来,可以用到:
git  checkout -b dev1 origin/dev1

如图所示:


image.png

其实这里很好理解,后面如果不跟origin/dev1的时候相当于创建了本地的dev1分支,并且切换到该分支下,后面跟了远程的分支后,表示和远程分支同步。

有种特殊情况,比如A提交的分支到远端仓库了,B这个时候想拉取远端的这个分支,此时B如果同样这么做,会出现无法识别的远远分支dev1,此时要做的是:

//第一步,git fetch命令
git fetch

//第二步
git  checkout -b dev1 origin/dev1
  • 冲突问题解决
    一般遇到比较多的地方就是冲突问题了,这里演示下冲突问题的解决,冲突问题其实是两个人去修改同一个文件,然后直接去提交的时候,先pull代码就发生了这种情况。下面带大家看看:


    image.png

    截图这里模拟了甲这个人先提交了东西,等下已也会提交东西,但是已不知道甲改没改东西,所以已先没去pull,等到先commit后再去pull。


    image.png

    看到了图上当已去pull的时候发生conflict了,此时需要去修复冲突才能push。那么打开源文件:
    image.png

上面标红的是已这个人刚刚提交的东西,下面是甲在之前提交的东西,此时需要去处理这个冲突,解决完冲突后,需要再次提交一次记录。提交了冲突后,才能再次push了。

冲突解决完了之后,我这里用到了git commit -a跳到了vi模式下:

image.png

在vi模式下,我编辑了提交记录是合并冲突,关于不会用vi模式(先进入insert模式,快捷键是i+command,编辑完了之后,按esc退出编辑模式,再按:wq就可以保存该次提交的记录了)的可以百度网上怎么说。
最后提交成功:
image.png

一般这种合并冲突在实际项目中我是很少用的,因为上面解决冲突会产生一条解决冲突的提交记录,用得多的还是通过git rebase --continue来解决冲突问题,流程是冲突解决完了后,通过git add .,然后再git rebase --continue

  • 合并某次提交
    之前在有家公司提到过该命令,主分支会合并某一次的提交代码,而不是整个分支的合并,下面演示下给大家看看:


    image.png

    上图第一处标红的是dev1分支上提交的记录,然后cherry-pick到master分支上了,但是合并到master分支上后,版本号会发生变化了。

更多学习git前往这里

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

推荐阅读更多精彩内容

  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,506评论 0 13
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,649评论 9 163
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,659评论 4 54
  • 多种多样的工作流使得在项目中实施Git时变得难以选择。这份教程提供了一个出发点,调查企业团队最常见的Git工作流。...
    JSErik阅读 4,401评论 2 8
  • 这篇博文是自己在学习git过程中的思考总结。本文仅仅代表个人的看法,如有不妥地方还请本文文末留言。 😊 原文链接g...
    Ming_Hu阅读 1,065评论 4 18