简介
git是一个开源的分布式 版本控制系统,用于敏捷高效得处理任何或大或小得项目。
Git与SVN得区别
1、git是分布式得,SVN不是
2、git把内容按元数据方式存储,而SVN是按文件
3、git分支和SVN不同
4、git没有一个全局得版本号,而SVN有
5、git得内容完整性要优于SVN
git快速入门
使用git前,需要建立一个仓库(repository)。你可以使用一个已经存在得目录作为Git仓库或创建一个空目录。
使用当前目录作为Git仓库,我们只需要初始化。
git init
使用我们指定目录作为Git仓库
git init newrepo
添加新文件,有仓库但是什么都没有
git add filename
提交版本
git commit -m "Adding files"
如果不使用-m,会出现编辑器来让你写自己的注释信息
当我们修改了很多文件,而不是想每一个都add,用-a标识
git commit -a -m "Changed some files"
git commit 命令的-a选项可将所有被修改或已经删除的且已经被git管理的文档提交到仓库
发布新版本
我们先从服务器上克隆一个并上传
git clone ssh://example.com/~/www/project.git
现在我们修改之后可以进行推送到服务器
git push ssh://example.com/~/www/project.git
取回更新
如果您已经按上面的进行push,下面命令表示,当前分支自动与唯一一个追踪分支进行合并
git pull
从默认位置更新的指定URL
git pull http://git.example.com/project.git
删除
从资源库中删除文件
git rm file
分支与合并
分支在本地完成,速度快。要创建一个新的分支,使用branch命令
git branch test
使用checkout来更改分支
git checkout test
对于其他分支的更改不会反应在主分支上,如果想提交到主分支,则需切回主分支——master
git checkout master
git merge test
如果想要删除分支,使用-d
git branch -d test
github简明教程
简介
github是一个基于git的代码托管平台,付费用户可以建立私人仓库,免费用户只能使用公开仓库
注册账户以及创建仓库
github官方网址:https://github.com/
github安装
配置git
首先在本地创建ssh key;
$ ssh-keygen -t rsa -C "your_email@your_email.com"
进入“/“下的.ssh文件夹,打开id_rsa.pub复制里边的key
回到github上,进入Account Settings(账户设置),左边选择SSH Keys,Add SSH key,title随便填,粘贴在你电脑上生成的key
为了验证是都成功,在git bash下输入:
$ ssh -T git@github.com
如果第一次会提示是都continue,输入yes
$ git config --global user.name "your name"
$ git config --global user,email "your_email@your_email.com"
进入要上传的仓库,右键 给i他bash,添加远程地址:
$ git remote add orgin git@github.com:yourName/yourRepo.get
检出仓库
创建本地仓库的克隆:
git clone /path/to/repository
如果在远程仓库:
git clone username@host:/path/to/repository
工作流
你的本地仓库由git维护的三棵”树“组成,第一个是你的工作目录,他持有实际文件;第二个是暂存区(index),临时保存改动;最后是HEAD,指向你最后一次提交结果,你可以
把他们添加到暂存区:
git add <filename>
git add *
实际提交改动:
git commit -m "代码提交信息"
推送改动:
你现在改动在HEAD
git push origin master
可以将master换为你的目标分支
如果你换没有克隆现有仓库,并欲将它连接到远程仓库:
git remote add orgin <server>
标签
创建标签:
git tag 1.0.0 1b2e1d63ff
获取提交id
git log
可以使用较少的id前即为,只要它有指向唯一性
替换本地改动
假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动:
git checkout --
此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它:
git fetch origin
git reset --hard origin/master
使用小贴士
内建的图形化 git:
gitk
彩色的 git 输出:
git config color.ui true
显示历史记录时,每个提交的信息只显示一行:
git config format.pretty oneline
交互式添加文件到暂存区: