git新手使用

前言

git新手学起来,还是比较困难的。我大概花了三天时间才把老师讲的内容,顺利的练了一遍。我是个比较较真的程序员,有任何疑问或者新奇的想法都会去做,所以在练习git过程中,出现了很多容易犯的错误,希望通过这篇文章,来巩固git的使用和谈谈自己的心得。

git简介

想用好git,先要知道git是什么。它是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布。最初目的是为更好地管理Linux内核开发而设计。
git是用于Linux内核开发的版本控制工具。与CVSSubversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。
git和其他版本控制系统(如CVS)有不少的差别,git本身关心文件的整体性是否有改变,但多数的CVS或Subversion系统则在乎文件内容的差异。因此git更像一个文件系统,直接在本机上获取数据,不必连接到主机端获取数据。

github网站

GitHub是一个通过Git进行版本控制的软件源代码托管服务,由GitHub公司(曾称Logical Awesome)的开发者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails编写而成。
GitHub里面的项目可以通过标准的Git命令进行访问和操作。同时,所有的Git命令都可以用到GitHub项目上面。GitHub开发了针对WindowsOS X操作系统的桌面客户端。此外,也可以使用第三方插件来实现Git功能。
网站提供了一系列社交网络具有的功能,例如赞、关注、评论。用户可以通过复刻他人项目的形式参与开发,并可通过 Collaboration graph(协作示意图)来查看有多少开发者参与了开发并追踪最新的复刻版本。此外网站还有Wiki(通过一个名为 gollum 的软件实现)等功能。
GitHub同时允许注册用户和非注册用户在网页中浏览项目,也可以以ZIP格式打包下载。但是用户必须注册一个账号然后才能进行讨论、创建并编辑项目、参与他人的项目和代码审查
我们要使用git,要先在github上注册才行。
注册完成之后,就是git与github之间的公私钥的配置。这一步对于新手来说也是非常复杂。我前前后后试了很多次终于配上了。首先打开git bash(对于windows版本的同学,mac直接打开命令提示符),利用这段命令生成公私钥

ssh-keygen -t rsa -b 4096 -C "注册github的邮箱"
这点容易出错。这步完了之后,对于Windows的同学来说,中间会出一个yes or no
?的代码,回复yes,生成Know_hosts文件。
之后一直回车出现这张图为止
这是mac上演示图,借鉴饥人谷若愚老师的图,Windows截图,当时忘记截了。然后按下图



之后新建库(New repository)。
一般我们是创建Public类型库,这是免费的。当然还有Private,这需要收费。如下图所示
New repository
当我们第一次使用git和github之间的推送或者下载,必须先设置姓名和邮箱,所以,当出现下术提示,不要以为公私钥没设置好,git config --global user.name "你的姓名"git config --global user.email johndoe@example.com,直接在命令行里设置你在github的名字和绑定的邮箱就好了。我们现在可以把我们新建的库克隆到我们的电脑上了。

当我们要把本地的代码push到github上,需要三个命令,1、git add .表示增加所有变更的文件到暂缓区;2、git commit -am "文件属性"提交到本地库;3、git push推送到github远程库,第一次先git push origin master。之后直接就git push就好了。git status是查看文档所处状态。

在github中,对于html类型文件我们可以直接设置为预览模式,直接通过URL浏览文件。
开启浏览模式方法

git简单使用

前面提到,把文件推送到github,有三个步骤,对应的是把文件推在不同的地方,一步一步的推送到github。每个步骤也可以通过git status命令查看步骤状态和取消步骤。

下面介绍一些git最常使用命令

创建文件 touch 文件名.格式
创建文件夹 mkdir 文件夹名
重命名文件名 mv 更改前名 更改后名
在文件里写入一个字符串 echo "hello" > a.md
把远程仓库的变动更新合并到本地仓库 git pull
修改文件 vim a.md vim是git中一个文件修改编辑器,在我的简书中有一些介绍vim使用此时会进入 vim 界面,按下i进入编辑状态,进行编辑,编辑完成后按下 esc 进入命令态, 输入 :wq 保存退出 vim
git add .
git commit -a 这里需要注意,如果提交消息包含大量字符串,提交参数不用加 m
git push origin master
rm -rf a.md 直接删除a.md文件,不需要询问直接强制删除。当然还有rm -r删除文件夹命令;rm删除文件命令。
如果之前已经git push origin master 过,后面可以直接简化成 git push
git push

git复杂使用

我们通过以下几个例子来学习git的复杂使用。
1、本地创建一个git项目推送到远程空仓库
首先要在github上创建一个仓库如图

第一步.PNG
第二步.PNG
第三步.PNG

之后在git bash上操作

本地库推送到远程库.PNG

跟着以上详细步骤,就能把本地newrepositor推送到远程库了。
2、分支操作
分支操作是git最具代表性的功能,开发同一个项目的程序员可以通过分支来上传合并。下面通过命令行演示一下创建分支和合并到主干上。

命令步骤.PNG

3、冲突
当大家一同完成一个项目时,各自把自己代码push到github上,由于自己本地的库不是最新的只要远程库被别人更新,那么你再上传就会产生冲突。下面演示一个典型的

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,382评论 25 707
  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,645评论 4 54
  • 其实陈默并不知道这样戒毒有没有用,但至少自己是亲身经历过的,自己被乔老爷子按进冰水那种窒息感,至今也是他最难忘...
    借她一辈子阅读 463评论 0 0
  • 宇宙的浩大也抵不过人类的渺小,我们渴望去发现一切我们从未涉及的地方,才会有那么多人去从未有人涉足的地方,无边的大海...
    寻欣茹阅读 756评论 0 2
  • 因为人需要借口。 失败的人爱说人性本恶。他们的真实台词是:“我失败,根本不是我自己的原因,都是因为别人的太奸诈。”...
    请叫我Michael阅读 172评论 0 0