git使用的详细讲解

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

  • 前言
  • 使用
  • 结尾

一. 前言

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

git使用的详细讲解_第1张图片
git的工作流程

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

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


    git使用的详细讲解_第2张图片
    示例
  • git add 和git commit的的原理
    git add:把文件修改添加到暂缓区
    git commit :把暂缓区的所有内容提交到当前的分支

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

git使用的详细讲解_第3张图片
git的工作原理

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

二. 使用

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

  • 一. 命令行
    git 的命令行
    一、命令行的操作
    1.进入到工作目录下,初始化一个代码仓库
    git init
    2.给该git仓库配置一个用户名和邮箱
    git config user.name “123”
    git config user.email “[email protected]
    (在初始化一个代码仓库时,这里的用户名和邮箱可以随便填,是为了标明唯一性,否则会默认这台电脑的用户名和密码)
    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下设置显示隐藏的文件。


git使用的详细讲解_第4张图片
Xcode中git的勾选项

添加远程代码仓库的地址


git使用的详细讲解_第5张图片
在Xcode Preferences中点击+选中 Add repository

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


git使用的详细讲解_第6张图片
这里进行check out,commit,push,update

三. 结尾

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

你可能感兴趣的:(git使用的详细讲解)