他操作:
在本地找一个你想存放这个远程仓库的目录,然后在本地命令行用git clone 命令来克隆这个远程库
[root@localhost project]# git clone git@github.com:jefreylian/spider.git
正克隆到 '-spider'...
remote: Counting objects: 9, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 9 (delta 0), reused 9 (delta 0), pack-reused 0
接收对象中: 100% (9/9), done.
[root@localhost project]# cd spider/
[root@localhost spider]# ll
总用量 8
-rw-r--r-- 1 root root 27 7月 5 15:51 index.html
-rw-r--r-- 1 root root 10 7月 5 15:51 README.md
如果有多个人协作开发,那么每个人各自从远程克隆一份就可以了。
你也许还注意到,GitHub给出的地址不止一个,还可以用https://github.com/jefrey/spider.git 这样的地址。实际上,Git支持多种协议,默认的git://
使用ssh,但也可以使用https
等其他协议。
使用https
除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh
协议而只能用https
。
git精通
前言:
因为最初是从Linux起家的,非常依赖文件系统的一些特性,这些在 Linux 下表现的很好,而 Windows 下特别糟糕Git 中文教程
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理.
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具。开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可证更为灵活的版本控制系统。尽管最初 Git 的开发是为了辅助 Linux 内核开发的过程,但是我们已经发现在很多其他自由软件项目中也使用了 Git。例如 最近就迁移到 Git 上来了,很多 Freedesktop 的项目也迁移到了 Git 上。
1、安装git:
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。
linux系统下,你可以试着输入git
,看看系统有没有安装Git:
[root@localhost lzl]# git
The program 'git' is currently not installed. You can install it by typing:
sudo apt-get install git
像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。
如果你碰巧用Debian或Ubuntu Linux,通过一条sudo apt-get install git
就可以直接完成Git的安装,非常简单。
2、远程上传:
[root@localhost project]# git clone git@github.com:jefreylian/spider.git
[root@localhost project]# cd spider/
[root@localhost spider]# echo '#create new file' > new.py # 创建新文件
[root@localhost spider]# git status # 查看状态
# 位于分支 master
# 未跟踪的文件:
# (使用 "git add <file>..." 以包含要提交的内容)
#
# new.py
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
[root@localhost spider]# git add new.py # 文件由工作区提交到暂存区
[root@localhost spider]# git commit -m 'first commit' # 加提交标识
[root@localhost spider]# git push -u origin master # 把代码提交到仓库
补充:
[root@localhost spider]# git add new.py # 添加new.py
[root@localhost spider]# git add . # 添加所有
[root@localhost spider]# git config --global user.email "lianzhilei0711@163.com" # 更改log显示名
[root@localhost spider]# git config --global user.name 'Jefrey'
[root@localhost spider]# vim .git/config # 查看本地git设置
3、工作区和暂存区
Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念。
先来看名词解释。
工作区(Working Directory)
就是你在电脑里能看到的目录,比如我的spider文件夹就是一个工作区:
[root@localhost spider]# ll
drwxr-xr-x 2 root root 20 7月 5 17:09 conf
-rw-r--r-- 1 root root 27 7月 5 15:51 index.html
-rw-r--r-- 1 root root 44 7月 5 17:31 new.py
-rw-r--r-- 1 root root 23 7月 5 15:57 README.md
版本库(Repository)
工作区有一个隐藏目录.git
,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master
,以及指向master
的一个指针叫HEAD
。
分支和HEAD
的概念我们以后再讲。
前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add
把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit
提交更改,实际上就是把暂存区的所有内容提交到当前分支。
因为我们创建Git版本库时,Git自动为我们创建了唯一一个master
分支,所以,现在,git commit
就是往master
分支上提交更改。
你可以简单理解为,需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
4、本地回滚
现在,你已经学会了修改文件,然后把修改提交到Git版本库,假如要恢复到之前