Git操作与使用

Git的简史

Linux Torvalds在 1991 年创建了开源的 Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
Linux虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linux,然后由Linux本人通过手工方式合并代码!
你也许会想,为什么Linux不把Linux代码放到版本控制系统里呢?不是有 CVS SVN 这些免费的版本控制系统吗?因为Linux坚定地反对CVS和SVN,这些 集中式 的版本控制系统不但速度 慢 ,而且必须 联网 才能使用。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是 付费 的,和Linux的开源精神不符。
不过,到了2002年,Linux 系统已经发展了十年了,代码库之大让 Linux很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linux选择了一个商业的版本控制系统 BitKeeper ,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。
安定团结的大好局面在 2005 年就被打破了,原因是Linux社区牛人聚集,不免沾染了一些梁山好汉的江湖习气。开发 Samba 的Andrew试图破解BitKeeper的协议,被BitMover公司发现了(监控工作做得不错!),于是BitMover公司怒了,要收回Linux社区的免费使用权。
Linux可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的。实际情况是这样的:
Linux花了 两周时间 自己用 C 写了一个分布式版本控制系统,这就是Git!一个月之内,Linux系统的源码已经由Git管理了!
Git迅速成为最流行的分布式版本控制系统,尤其是 2008 年 GitHub 网站上线了,它为开源项目 免费提供Git存储,无数开源项目开始迁移至GitHub,包括jQuery,PHP,Ruby等等。
历史就是这么偶然,如果不是当年BitMover公司威胁Linux社区,可能现在我们就没有免费而超级好用的Git了。

建立私有git: gitlab gogs http://www.jianshu.com/p/424627516ef6

参考资源

Git中文教程 http://git.oschina.net/progit/
15分钟学习Git https://try.github.io/levels/1/challenges/1
猴子都能懂的Git入门 http://backlogtool.com/git-guide/cn/intro/intro1_1.html
图解Git http://marklodato.github.io/visual-git-guide/index-zh-cn.html
git简易教程 http://www.bootcss.com/p/git-guide/
ProGit http://git-scm.com/book/en/v2 https://git-scm.com/book/zh/v1
廖雪峰git http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
git权威指南 http://vdisk.weibo.com/s/zoaG66F7eXwUE
github官方使用指南 https://guides.github.com/activities/hello-world/
搬进github http://book.haoduoshipin.com/gitbeijing/
github flow http://book.haoduoshipin.com/gitbeijing/flow/
官方github向导 https://guides.github.com/
Git详解之一 http://blog.jobbole.com/25775/
Git community book中文版 http://gitbook.liuhui998.com/


git 常用命令


克隆

git clone https://git.oschina.net/chenjianlong/hello-world.git

自定义目录名

git clone https://git.oschina.net/chenjianlong/hello-world.git my-hello-world


分支

查看本地分支

git branch

查看所有分支(本地加远程)

git branch -a

创建分支

git branch # 例: git branch develop

切换(检出)分支

git checkout # 例: git checkout develop

创建并切换到新建分支

git checkout -b # 例:git checkout -b develop
提交


跟踪新文件或者已有文件的改动

git add # 添加一个文件 例:git add ./index.html

监控工作区的状态树,把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件

git add .

监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add –update的缩写)

git add -u

监控所有文件,新的未跟踪的,已删除的,已修改的(git add –all的缩写)

git add -A

提交代码

git commit -m # 例:git commit -m “修复了issue-1:错别字”
拉取

从远端拉取

git pull
推送

推送到远端

git push


合并

切换到master主干并将develop分支的代码合并过来

git checkout master
git merge # 例:git merge develop


本文参考链接


更多推荐

【入门操作】git流程——git系列1
【进阶】Git 分支——git系列2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值