Chinaunix首页 | 论坛 | 博客
  • 博客访问: 957212
  • 博文数量: 210
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2070
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-19 21:54
文章分类

全部博文(210)

文章存档

2020年(2)

2019年(18)

2018年(27)

2017年(5)

2016年(53)

2015年(88)

2014年(17)

分类: 其他平台

2016-11-17 10:43:25

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。  Git的读音为/g?t/。
Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。 Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 很多 Freedesktop 的项目迁移到了 Git 上


git 简单操作命令:
1.$ git config --global user.name "Your Name"
  $ git config --global user.email "email@example.com"
2.创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
   $ mkdir git
   $ cd git
   $ pwd   //pwd命令用于显示当前目录
   /e/git
   $ git init  命令把这个目录变成Git可以管理的仓库
3.把文件添加到版本库
   $ git add readme.txt 告诉Git,把文件添加到仓库
   $ git commit -m "wrote a readme file"  把文件提交到仓库 -m 后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
4. 查看
   git status 可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt 被修改过了,但还没有准备提交的修改  告诉你有文件被修改过
   git diff 顾名思义就是查看difference   可以查看修改内容
5.git log 可以查看提交历史,以便确定要回退到哪个版本。
  git reset --hard 3628164   版本号没必要写全,前几位就可以了,Git 会自动去找。当然也不能只写前一两位,因为Git 可能会找到多个版本号,就无法确定是哪一个了
  git reflog 查看命令历史,以便确定要回到未来的哪个版本。
6.工作区和暂存区
7.分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由 于代码还没写完,不完整的代码库会导致别人不能干活了。如果等代码全部写完再一次提交,又存在丢失每天进度的巨大风险。

现在有了分支,就不用怕了。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

我们已经知道,每次提交,Git 都把它们串成一条时间线,这条时间线就是一个分支。在Git 里,这个分支叫主分支,即master 分支。HEAD 指向的就是当前分支。master 分支是一条线,Git 用 master 指向最新的提交,再用HEAD 指向 master  ,就能确定当前分支,以及当前分支的提交点

每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长:

     当我们创建新的分支,例如 personal 时,Git 新建了一个指针叫 personal,指向master相同的提交,再把HEAD 指向personal,就表示当前分支在personal上: git checkout -b personal 表示创建并切换
      $ git branch personal
      $ git checkout personal
      $ git branch 查看当前分支
     你看,Git 创建一个分支很快,因为除了增加一个personal 指针,改改HEAD 的指向,工作区的文件都没有任何变化!
     不过,从现在开始,对工作区的修改和提交就是针对 personal 分支了,比如新提交一次后,personal 指针往前移动一步,而master 指针不变:

     假如我们在personal 上的工作完成了,就可以把personal 合并到master 上。Git 怎么合并呢?最简单的方法,就是直接把master 指向personal 的当前提交,就完成了合并:git merge personal;

     git 合并分支也很快!就改改指针,工作区内容也不变!合并完分支后,甚至可以删除personal 分支。删除personal 分支就是把personal 指针给删掉,删掉后,我们就剩下了一条master 分支:git branch -d personal


     查看分支:git branch

     创建分支:git branch

     切换分支:git checkout

     创建+切换分支:git checkout -b

     合并某分支到当前分支:git merge

     删除分支:git branch -d

 

阅读(1547) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~