Git是目前世界上最先进的分布式版本控制系统
Git最主要有2大优点:
历史回退
多人项目开发时的代码管理合并非常方便
git与集中式版本控制系统如svs cvs等相比:
- 速度更快,服务器可有可无(github服务器主要是方便不同电脑之间的文件传输),不联网也可以工作,不管在服务器还是本地,都可以进行历史版本查询但集中式控制系统只在服务器才可以查询。同时也更安全,集中式控制系统的中心服务器挂了,其以前保存的文件都丢失,但git不会,因为每台电脑都有一个副本。
一 git安装
ubuntu环境下的安装命令如下:
sudo apt-get install git
安装成功后,运行如下命令,git安装到/usr/bin目录下,可以直接运行下面的命令
git
二 git实际应用过程(ubuntu环境):
要求:要有一个github账号,安装好git(sudo apt-get install git)
1 在终端本地home目录下,输入以下命令,生成秘钥对,并在.ssh隐藏目录找到并获取自己的以pub结尾的公钥文件
ssh-keygen -t rsa -C "个人邮箱"
2 在github上创建远程仓库
- 登录github,点击右上角图标,依次选择settings repository,创建仓库
3 把本地库和远程仓库进行关联,通过把本地的公钥添加到github上这种方法进行关联,不关联就不能使用ssh协议克隆远程仓库到本地某个目录下面。
登录github,点击右上角图标,依次选择settings ,ssh and gpg keys,输入title内容和公
钥,则完成关联。
4 把github上的远程仓库克隆到本地,
- 依次点击Settings Reporitories 远程仓库名字,选择clone or down,选择use ssh,把提示内容复制,
终端输入以下命令, 克隆远程仓库到本地当前目录
git clone git@github.com:注册的用户名/远程仓库名.git
备注:克隆下来的远程仓库django里面自带.git目录,不用另行创建。该目录最好不要修改,否则会乱套
5 本地仓库操作
- 创建文件hello.txt,内容为123,就可以依次通过以下操作提交到远程仓库。如操作过程想使用以前某个文件 ,可以跳到步骤6进行历史回退
git add hello.txt 把hello.txt从工作区添加到版本库的暂存区
git commit -m '创建hello.txt' 把暂存区hello.txgt提交到仓库区
git push origin master 把本地仓库内容推送到远程仓库,注意检查代码没错
- 备注:关联成功后,本地仓库就是一个项目目录,里面可以创建模板应用等(此时在工作区,本
地仓库分为工作区和版本库,版本库又分为暂存区和仓库区)。不管是一个人开发,还是
多人开发,没有进行关联,就不能把本地仓库里面的内容推送到远程仓 库。
6 历史回退,操作步骤如下。
1. git log 当前版本的历史版本 git log --pretty=oneline 简版显示历史
2. git reset HEAD^ /版本号 回退上个历史版本或指定的版本从仓库区到暂存区
3. git checkout -- 要回退文件名 注意--和文件名之间有空格 回退历史版本从暂存区到工作区
- 备注:从暂存区把指定版本的文件获取到工作区,并同时进行覆盖。
如果本地仓库的工作区文件想使用以前的某个版本,可以通过
git log或者git log –pretty=oneline 命令进行查看,然后再回退
7 远程仓库操作,并进行开发部署
git pull 或者 git clone git@github.com:注册的用户名/远程仓库名.git
备注: 多人开发时使用git的流程
项目经理要在公用的GitHub上添加每个组员的公钥进行关联,保证每个组员都可以使用ssh协议
项目经理创建远程仓库django,
- 项目经理克隆远程仓库dango到本地,搭建项目的开发环境,如模板静态文件等,然后推送到远程仓库。
- 每个组员开始分别django仓库克隆到本地,然后进行各自的应用开发,开发完后推送到github
- 项目经理再git pull把更新的内容下拉到本地,一起进行开发部署