git

1.Git简介

1.1 版本控制

版本控制:是一种系统(记录一个或若干文件的变化,以便将来查询特定版本修订情况)

  • 本地版本控制系统:
    首先,在本机上有版本控制的需要,最简单的方法,就是复制整个项目,并加上日期,版本等。现在大都采用记录文件的历次更新差异。(现在做的复制源码文件的工作,还在本地版本控制的前一阶段,只要求能够备份当前代码。没有进行版本控制。)

  • 集中化版本系统:
    解决了再本地的版本控制,另一个问题出现了如何让不同系统的人协同开发项目。,于是出现了集中化版本系统。简单,方便控制?如果中央服务器出现问题,风险太大。

  • 分布式版本控制:

1.2 来历

2005年,Bitkeeper同Linux内核开源社区的合作关系结束。使 Linux 开源社区(特别是 Linux 的缔造者 Linux Torvalds)基于使用 BitKcheper 时的经验教训,开发出自己的版本系统。 他们对新的系统制订了若干目标:

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

1.3 Git基础

  • 直接记录快照,而不是人间差异(快照是什么?
  • 几乎所有的操作都在本存储,快速。
  • 三种状态:
    • 已提交(Git仓库 .git directory(Repository储藏室))、
    • 已修改(工作目录 Working Directory)
    • 已暂存(Staging Area)

1.4 起步

只有在命令行中才能执行Git的所有功能。许多GitGUI实现Git所有功能的子集来降低复杂度
1.安装
windows中安装的是Git for Windows(msysGit)

英语要学好,安装时看不懂英语

2.配置

1.安装完成后打开git-bash 设置用户名和邮箱
$ git config --global user.name "github's Name"
$ git config --global user.email "github@xx.com"

--global表示全局,默认所有的账户都是这个用户名和邮箱,如果想在单个项目提交到其他项目,在项目根目录下进行单独配置(不加--global),我也不知道这个是什么,我用的自己的github账号
2. 命令:
$ git config --list:查看配置

    $ git config (key):***查看key的值***
   $ git help[key]:***获取帮助***

2.Git基础

2.1创建版本库:进入目录,pwd查看当前目录;git init

vc6.0编译器cl.exe

2.2将当前目录下的文件纳入版本控制
git add (file)
git commit -m '[提交说明]'

创建版本库(git init) -> 添加文件(git add) -> 提交(git commit)

2.3 从现有仓库中克隆:
git clone (git add) [name]:如果没有后面的name,原来是什么名字,现在就是什么名字
下面这个使用的是git协议,我们还可以使用http协议或者SSH协议* ***

2.4 查看状态,文件分为两种状态

  • 未跟踪状态:(git add 加入暂存区)
  • 已跟踪状态:
    • 未修改:
    • 已修改:git add 加入暂存区
    • 暂存:git commit 提交,变为未修改。

git status:查看状态(git commit -h查看帮助)

现在ReadMe是已修改git add 加入暂存;
在提交git commit

记录每次更新 到仓库,上面的详细版

2.5 查看提交历史
git log

2.6撤销操作

2.7 远程仓库:
git remote:查看当前远程库
git remote add (remote name)(remote address):添加远程仓库
git fetch:从远程仓库中拉取
git pull:拉取并合并
git push:推送到远程库;
目前只能https push;添加远程库,拉取并合并,在提交
git remote rm (name)删除版本库

2.8 打标签

3.分支

1.创建分支:git branch
HEAD :ref: refs/heads/master
2.切换分支:git checkout(branch-name)

HEAD:ref: refs/heads/testing
3.新建分支并切换分支:git branch -b (branch-name)
4.合并分支:
1. 返回master;
2. git merge (branch-name)
如果要合并的分支是master同一线上的分支,直接将master指针移到最新的分支上,
如果要合并的分支不只同一条线上,则有可能要解决冲突才能合并。
3.git -d (branch-name):删除分支。

5.分支管理:
* 查看分支:git branch, git branch -v
2.切换分支:git checkout (branch-name)

利用分支进行的开发流程。
master分支放稳定版,issue-xx放解决某个问题的版本,dumbidea放为了某个想法做的实验
请务必牢记这些分支全部都是本地分支,这一点很重要。当你在使用分支及合并的时候,一切都是在你自己的 Git 仓库中进行的 — 完全不涉及与服务器的交互

4.服务器上的Git

四种协议:

Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。下面分别介绍一下哪些情形应该使用(或避免使用)这些协议。

posted @ 2017-03-16 19:21  你要坚定  阅读(140)  评论(0编辑  收藏  举报