git使用的详细讲解

这篇文章主要和大家分享一下在源代码管理过程中git的原理,详细的使用,主要分为三个部分

  • 前言
  • 使用
  • 结尾

一. 前言

首先讲解之前先大概介绍一下什么是git?
git是款开源的分布式版本控制的工具,在现行的分布式版本工具中,git是最快,最简单并且最流行的,它是由Linux之父:Linus Benedict Torvalds起初创建,在国外已经广泛使用,在国内大家以前多使用的是svn集中式版本控制工具,现在已经慢慢的在国内普及。如果有一定开发经验的人肯定还知道其他版本控制工具,如CVS,在CVS之上的SVN,还有ClearCase,VSS,不过一般的除了SVN``git外,大多数人还是没有用过的。
其次git的工作流程是怎么样的?

git的工作流程

主要流程就是首先将远程代码仓库clone下来,会在本地形成一个.git的文件夹,这个文件夹相当于本地的一个代码仓库,然后Pull,将远程仓库的项目下载到本地,等你写好自己的代码后,先commit到本地的仓库,然后push到远程的代码仓库中。
再者git的工作原理是什么?
首先得知道以下几个核心的概念

  • 工作区(Working Directory):仓库文件夹里除了.git目录以外的内容
  • 版本库(Repository):.git目录,用于存储记录版本的信息
    暂缓区(stage)
    分支 (master):git自动创建的第一个分支
    HEAD指针:用于指向当前的分支(就是当前开发的分支)


    示例
  • git add 和git commit的的原理
    git add:把文件修改添加到暂缓区
    git commit :把暂缓区的所有内容提交到当前的分支

主要工作的原理如下图:##

git的工作原理

主要是将工作区的项目首先添加到版本库的暂缓区(stage)中,然后添加到分支(master)的代码仓库中。

二. 使用

关于git的使用我主要介绍两种办法,命令行和Xcode中的使用。

  • 一. 命令行
    git 的命令行
    一、命令行的操作
    1.进入到工作目录下,初始化一个代码仓库
    git init
    2.给该git仓库配置一个用户名和邮箱
    git config user.name “123”
    git config user.email123@163.com
    (在初始化一个代码仓库时,这里的用户名和邮箱可以随便填,是为了标明唯一性,否则会默认这台电脑的用户名和密码)
    3.初始化代码
    touch main.m
    git add main.m
    git commit -m “文件名”将文件提交到代码仓库

4.查看文件的状态(git status)
·Untracked files(红色文件):新添加的文件在工作区,没有被添加到暂缓区。
·Changes to be committed (绿色:)将工作区的代码已经添加到了暂缓区中,可以被提交到代码仓库中了。
5.修改文件
open main.m
6.将工作区所有的饿文件添加到暂缓区中
git add .
7.给git命令起别名
git config alias.st “status”
git config alias.ci “commit -m”
8.查看历史版本
git log
git reflog 查看操作过的所有版本

·git版本号 唯一性
·git版本号是由sha1 加密算法生成一个40位哈希值
9.版本回退
·git reset —hard HEAD 回退到当前的版本
·git reset —hard HEAD^
·git reset —hard 版本号前7位
10.—global的作用
如果在git后添加--global表示配置全局的所有的

如果是团队开发重要流程如下:
1.项目经理创建一个代码共享库(让一个文件夹成为共享库)
git init —bare
2.经理将共享代码仓库clone下来
git clone 地址
3.项目经理初始化项目
·忽略文件:在我们.git同级目录下创建一个.gitignore文件,(忽略文件是指,git提交的时候有很多不必要的文件,所以得在该文件中制定需要忽略的文件)
·可以去github 上查找oc需要忽略的内容,将内容填写到.gitignore中

github地址

https://github.com/github/gitignore/blob/master/Objective-C.gitignore
·git add./ git commit - m “注释” 将.gitignore添加到代码仓库

以上的命令基本可以满足所有功能,大家如果想要更详细的操作可以查看其他的资料加以补充。

  • 二. Xcode中使用(这里主要讲解将项目托管到github的远程仓库git,这里主要利用图片演示方便大家很快明白,提前说明一下Xcode对git的支持可以说是完美支持)

在利用Xcode创建的项目的中使用的勾选Git,会默认创建一个.git的文件夹,这个文件夹是隐藏的,可以在mac下设置显示隐藏的文件。


Xcode中git的勾选项

添加远程代码仓库的地址


在Xcode Preferences中点击+选中 Add repository

这里进行类似命令行的操作


这里进行check out,commit,push,update

三. 结尾

对于git的主要介绍就到这里了,具体的使用还需要不断的训练操作,在git的操作中肯定也会遇到版本冲突,解决起来也比较容易,当然最好每次在写项目之前先pull,然后再push,还有对像StroyBoard和xib的修改如果是团队开发,最好一个人去修改,如果多人同时修改,如果产生冲突,解决起来是很麻烦的。这篇文章的目的主要是给大家从原理上帮大家理清git,好进行后面的内容的深入学习。不明白的地方大家可以留言,我一定答复。

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

推荐阅读更多精彩内容

  • 声明:这篇文章来源于廖雪峰老师的官方网站,我仅仅是作为学习之用 Git简介 Git是什么? Git是目前世界上最先...
    横渡阅读 3,946评论 3 27
  • 我长大后,不会结婚,不会生子,但要赚足够多的钱,养父母,再养一条狗,一只猫,说不定还会有自己的一个小店,等我累了,...
    1484阅读 181评论 0 1
  • 我是穿红色背带裤的小熊,男主人通常把我放在车的后座,偶尔也有例外,今天他让我躺在后排靠背,脸贴着后窗玻璃……我觉得...
    Iamrola阅读 363评论 0 0
  • 一直以来的含羞草情结,可能来源于小时候在院子里玩耍间无意中发现的含羞草吧。很奇怪好多东西我只在书本上动画片...
    胡小羞阅读 443评论 1 5
  • 侠客行 赵客缦胡缨,吴钩霜雪明。 银鞍照白马,飒沓如流星。 十步杀一人,千里不留行。 事了拂衣去,深藏身...
    走过_c745阅读 420评论 0 0