git基础教程(适合初学者,超详细)

一.为啥选择git

        从cvs到svn到现在的git,就像是一束浪花,后浪推前浪。新事物的出现必然有它可取之处,今天就小谈git。cvs就不扯蛋了;我们将注意力集中在svn和git的比较吧。

1.分布式VS集中式

   svn是集中式版本管理,效果图如下:

svn.png

git属于分布式版本管理,效果图如下:


git.png


git 的直接版本控制在于自己的主机,它拥有自己的本地仓库,因此他可以在不联网的情况下进行版本控制;对于git来说中央主机的存在只不过是提供一个众所周知的更新地址,但是svn的中央主机就是其工作命脉,在svn中假如中央主机瘫痪了,那么恭喜你今天你可以放假了。。。

2.git强大的分支管理

当你使用svn进行版本控制想进行“后悔”(版本回退)操作的时候是一件很痛苦的事情,你只能通过自己的印象去把代码修改回来;或许这并不能说服你,但是如果你的产品经理叫你修改之后又叫你修改回来呢。。。如果你使用的是git的话你可以很简单的使用它的分支来进行控制,当然有的人还是会说svn也是有分支的,博学的你当然不会有错,只不过svn是通过建立文件夹然后复制来实现的,在大项目的时候这点就有点日狗了。

3.使用命令行来进行控制

使用命令行来进行控制是装逼,撩妹必备神器,不解释。

二.git下载安装(windows)

下载地址:git-for-windows.github.io/

安装挺无脑的,聪明的你肯定懂的,在此就不bb。

安装完成会在你的你的鼠标的右键中出现Git GUI Here 和 Git Bash Here,点击Git Bash Here出现如下窗口:


三.Git的思想和基本工作原理

Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异:


Git 并不保存这些前后变化的差异数据。实际上,Git 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。Git 的工作方式就如下图所示。


git文件经过了Git工作目录,暂存区域,Git本地仓库三个工作区域,在脑海里一定要有这个概念。

四.Git的简单使用

1.初始化操作

建立文件夹 —> 使用 git config --global user.name "Name"         例如:git config  --global user.name "zhangsan"

—>使用 git config --global user.email "Email"    例如:git config -- global user.email "11112222@qq.com" 来配置自己的信息

回车 ,在使用 git init 初始化,出现如下效果表示初始化成功:


此时在该文件内会出现一个.git文件。

2.Git本地提交

通过  git add .  将该工作目录下的所有文件添加到暂存区,或者使用 git add +文件名添加单个文件到暂存区;在此过程中你可以使用git status

命令来查看当前文件的状态。效果图如下:


通过 git status 在最后一行看到 新建了一个文件 叫test.txt 并且此时文件是绿色的。

通过git commit -m"firstcommit"来将暂存区的文件提交到本地仓库,-m表示注释,后面的内容是注释内容;同样可以使用git commit +文件名来提交单个文件;在此过程中你可以使用git status命令来查看当前文件的状态。效果图如下:

通过 git status 看到 1 file changed,1 insertion(+),此时文件为白色。

3.远程提交(这里演示提交到github)

第一步:先注册github 账号,添加一个新仓库

第二步:使用 ssh-keygen -t rsa -C"Email" 例如 ssh-keygen -t rsa -C"111222333@qq.com",一路回车,效果如下

然后去它提示的路径编辑id_rsa.pub文件,将文件内容复制下来,在进入github的setting 下的SSH and GPG Key目录下将复制的内容添加中,如图:

第三步:使用 git remote add origin +ssh地址 ,将本地和github进行关联 例如:git remote add origin git@github.com:Venus-Software/android_recyclerview.git (ssh地址从github的clone or download中获取),使用 git push -u origin master 来进行上传:

同样有可能出现如上的问题原因是因为你的github的该目录下和本地的仓库存在冲突,你需要处理,这个使用你应该使用 git pull --rebase origin master  来进行处理,然后重新使用 git push -u origin master

在 github上查看效果如下:


完美提交

4.创建分支

可以使用git branch +name 来创建分支 ,使用 git checkout +name 来切换分支,当然可以使用git checkout -b +name来创建新分支并且切换到该分支。

使用 git branch 来查看分支,使用git merge “注释” 合并的目标分支。

五.后悔操作


六.结语

小编也是菜鸟一枚,以上纯属个人理解,有什么写的不好的希望广大朋友能够一起帮我改正。

qq邮箱:2325182399@qq.com。

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

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,648评论 4 54
  • 今天十点半睡觉。 明早6点起床。 晃荡了一天吧。上午去打游戏。下午猫在家看电影弹吉他。 看的头脑特工队,真是想象力...
    自由的adam爱生活阅读 273评论 0 0
  • 关于今天的分享是这样的,在做wap端的时间选择器时,在选择生日时,需要向后台传递毫秒数,但是在传递的过程中,发现苹...
    阳光下819阅读 2,425评论 0 0
  • 这一刻,我深知,有些东西是注定自己必须学会的,一味的拜托别人只会让自己陷入尴尬的境地而已,自己做的或许会比别人做的更好
    棉花糖的生活阅读 80评论 2 2
  • 感恩今天天气凉爽,又下了一点小雨,空气清新,感恩大自然的恩赐。 感恩今天收到空中读书会发来的六时书和空性笔的礼物。...
    武丹yoyo阅读 182评论 0 0