zoukankan      html  css  js  c++  java
  • Git使用

    1.基本概念

    Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。[1]  Git的读音为/gɪt/。
    Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。[2]  Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
     
    2.Git相对于SVN的优势
    集中式版本控制系统(SVN采用的方式)
     
     
     
     
    分布式版本控制系统(Git采用的方式)
     
    Git是分布式SCM,而SVN是基于服务器的,也就是说每个开发者本地都有一套git库,每个人维护自己的版本(或者合并其他人的版本),而SVN是每个人写完代码后都及时的checkin到服务器上,进行合并。
    1. 版本库本地化,支持离线提交,相对独立不影响协同开发每个开发者都拥有自己的版本控制库,在自己的版本库上可以任意的执行提交代码、创建分支等行为。例如,开发者认为自己提交的代码有问题?没关系,因为版本库是自己的,回滚历史、反复提交、归并分支并不会影响到其他开发者。
    2. 更少的“仓库污染”git对于每个工程只会产生一个.git目录,这个工程所有的版本控制信息都在这个目录中,不会像SVN那样在每个目录下都产生.svn目录。
    3. 把内容按元数据方式存储,完整克隆版本库所有版本信息位于.git目录中,它是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签、分支、版本记录等。
    4. 支持快速切换分支方便合并,比较合并性能好在同一目录下即可切换不同的分支,方便合并,且合并文件速度比SVN快。
    5. 分布式版本库,无单点故障,内容完整性好内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

    3.Git的使用

     Git 有三种状态,你的文件可能处于其中之一:已提交(committed)、已修改(modified)和已暂存(staged)。 已提交表示数据已经安全的保存在本地数据库中。 已修改表示修改了文件,但还没保存到数据库中。 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

    由此引入 Git 项目的三个工作区域的概念:Git 仓库、工作目录以及暂存区域。

    Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。

    工作目录是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。

    暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作`‘索引’',不过一般说法还是叫暂存区域。

    基本的 Git 工作流程如下

    1. 在工作目录中修改文件。

    2. 暂存文件,将文件的快照放入暂存区域。

    3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

    如果 Git 目录中保存着的特定版本文件,就属于已提交状态。 如果作了修改并已放入暂存区域,就属于已暂存状态。 如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。

    官方使用的是Git命令行,然而从来没接触过的人命令行玩的不溜,影响了正常开发;所以在这里我推荐一个图形化的工具----SourceTree

    1.下载对应系统版本的git.exe并安装(我的是windows-bit),在桌面右键出现下面两个选项,说明安装成功了

    2.下载SourceTree并且安装

    3.服务器与本地仓库对应关系的建立

    首先,在AndoridStudio创建一个空的项目,copy一下路径,然后在SourceTree工具里这样操作

    点击创建,然后点击仓库-项目设置

    开始配置服务器地址

    别忘了在高级里填一下个人信息,这样的话本地仓库与服务器的对应关系就建立起来了

    4.代码的更新与提交

    和SVN一样,我们需要先获取服务器的信息,拉取里面的版本,然后再提交

    工具很直观,不细说,操作很简单

    5.冲突的解决

    解决冲突的方法基本和svn类似;发现冲突,可以直接在SourceTree里操作,当然我们也可以到AS里去操作(根据冲突标志符号选择是否合并),然后右键标记为解决冲突,然后提交,推送,OK!

    显示你的分支解决了一个冲突,并合并进来.

    是不是很简单,利用SourceTree这个Git的图形化工具可以很淡定的进行版本控制,不用再去面对黑框框输难记的命令行.

  • 相关阅读:
    毕设问题02-index.jsp跳转html问题
    毕设问题01-html中引入公共部分代码
    毕设开篇
    object和大括号自定义对象
    数组js
    function 方法的使用
    JavaScript01
    CSS属性
    听说不能改日期了
    获取时间
  • 原文地址:https://www.cnblogs.com/fuyaozhishang/p/6507390.html
Copyright © 2011-2022 走看看