2018-11-07

本教程教你从头到尾你操作一遍git,你只需按照步骤进行就好,请你事先准备好一个gitee账号,创建好一个git仓库。

前言:git的操作的几个方面

仓库操作

分支管理

解决冲突

版本的回退和前进

仓库管理

本地有项目,关联到远程仓库

打开终端,window打开git bash,进入你想要创建项目的目录或者已将创建项目的目录,执行一下命令。

git init  初始化git仓库

git remote add originthttps://gitee.com/huruqing/gitdemo.git关联远程仓库(地址换成你自己的就行)

git add . 把所有文件添加到版本里

git status 查看状态

git commit -m'备注信息'  提交修改

git commit -a -m"备注信息"  add和commit连着写

git push origint master 会出现下面的错误提示

一般是由于远程仓库上有内容,解决的办法有两种:

git push origin master -f

本地强制上传到远程,把远程的覆盖

git pull --rebase origin master

拉取远程的文件把本地的覆盖,再上传

git push origin master -u 加上-u后面再提交只需要git push就可以了,不需要再加上分支名称

本地没有项目

git clonehttps://gitee.com/huruqing/gitdemo.git@git把远程的仓库克隆到本地。

进行像上面的那些仓库操作,不过首次提交的时候就不需要加 -f,因为你是直接clone的项目

其他操作

git remote remove origin 取消远程仓库关联

rm .git -rf  删除仓库

分支管理

git checkout -b dev  创建并切换到dev分支

git branch查看分支

git checkout master 切换分支到master

git merge dev -m"合并分支到主干" 合并分支dev到master

把主干代码同步到分支

git checkout dev 切换到分支

git merge master -m"合并主干到分支"

如果出现 fatal: refusing to merge unrelated histories,意思是这两个分支没有共同的祖先,需要这样去合并或者拉取

git merge dev --allow-unrelated-histories

git branch -a 查看所有分支

git fetch origin dev:dev  把远程分支dev同步到本地分支dev

git branch -d dev 删除dev分支

git push origin -d dev 删除远程的dev分支

冲突处理

由于多人同时进行开发,有时候会同时修改一个文件,或者多分支开发,合并的时候就很容易引发冲突,下面是一个制造冲突和解决冲突的例子。

为了方便我们看得清楚,把所有内容删除

在master分支,创建index.js

// index.js// 创建对象functionPerson(name, age){this.name = name;this.age = age;}varp =newPerson('张三丰',100);

git checkout -b dev 创建分支dev ,这时候主干和分支的代码都是一样的

制造冲突

把分支上的代码改成下面这样子,然后提交并推送

// 工厂模式functionPerson(name, age){varobj =newObject();    obj.name = name;    obj.age = age;returnobj;}varp = Person('张三丰',100);

把主干代码修改成下面这样子的,然后提交并推送

// 创建对象functionPerson(name, age){this.name = name;this.age = age;}Person.prototype.say =function(){console.log(this.name);}varp =newPerson('张三丰',100);

合并dev分支到主干 git merge dev -m"xxxx"

冲突出现,代码如下:

// 工厂模式functionPerson(name, age){varobj =newObject();    obj.name = name;    obj.age = age;returnobj;}<<<<<<< HEADPerson.prototype.say =function(){    console.log(this.name);}varp =newPerson('张三丰',100);=======varp = Person('张三丰',100);>>>>>>> dev

其中<<<<<<<  和 =======之间的代码是当前分支(也就是master分支)的修改,=======和>>>>>>>之间的代码是dev分支上的修改

我们需要根据我们自己的情况去消除冲突,我们可以选择保留主干上的修改或者是分支上的修改。消除冲突之后,再执行添加、提交、推送的动作。

版本的前进和回滚

git log 和 git log --pretty=oneline 查看版本信信息

image.png

如果我们要回退到aaa这次操作提交上来,我们只需要将id复制一下,然后执行下面命令即可,版本的id每个人都会不一样

git reset --hard e55640863f0eb141e0857761f0268c61121c07ac

版本回退之后,如果想再回到现在,你只需要记住你要回到的id即可使用同样的命令回到现在

如果不记得版本id,还可以使用git reflog来查看你提交的历史记录,从中找到版本的id,再进行reset操作

其他

每次git push我们都需要输入账户密码比较麻烦,想要免掉这一步,请看文章

码云gitee添加公钥

作者:儒清

链接:https://www.jianshu.com/p/622938e19e42

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

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

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,656评论 4 54
  • 1,查看所有远程分支:%git branch -r 2, 拉取远程分支并创建本地分支git checkout -...
    will666阅读 2,063评论 0 18
  • 本文为 Git教程的学习笔记,教程源自廖雪峰的博客。这是一个由浅入深,学完后能立刻上手的Git教程。另,附上另一本...
    七弦桐语阅读 6,240评论 5 47
  • 头脑一热 一个选择就出现 不管对与错 毕竟这是一个选择 为何不去质疑 选择的必要性 或者 承认自己的身体虚弱 为何...
    寒冬之城阅读 85评论 0 1
  • 以一个很老套的故事开始吧! 有一对夫妻,都喜欢吃鱼,男人每次吃鱼就把自己最喜欢的鱼头给女人,女人每次就把自己最喜欢...
    残脑阅读 380评论 0 1