Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
Git不同于SVN之前写过 SVN使用手册 ,搭建过SVN服务,现在复习一下Git
配置Git
首先创建SSH key:
1 | ssh-keygen -t rsa -C "email@email.com" |
在~/目录下生成.ssh文件夹,打开id_rsa.pub,复制里面的key。
在github上,进入 Account Settings(账户配置),左边选择SSH Keys,Add SSH
Key,title随便填,粘贴在电脑上生成的key。
验证是否成功1
ssh -T git@github.com
如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。1
2git config --global user.name "your name"
git config --global user.eamil "your_eamail@email.com"
上传远程仓库,需要添加远程地址,仓库需要在github上先建立好1
git remote add origin git@github.com:yourName/yourRepo.git
检出仓库
克隆本地仓库:
git clone /path/to/repository
克隆远程仓库:
git clone username@host:/path/to/repository
推送流程
1 | $mkdir test #创建一个测试目录 |
常用命令
1 | #初始化git |
查看当前远程仓库:1
2
3
4
5$ git remote
origin
$ git remote -v
origin git@github.com:Voidmort/blogs.git (fetch)
origin git@github.com:Voidmort/blogs.git (push)
Git 有两个命令用来提取远程仓库的更新。
1、从远程仓库下载新分支与数据:
git fetch
该命令执行完后需要执行git merge 远程分支到你所在的分支。
2、从远端仓库提取数据并尝试合并到当前分支:
git merge
该命令就是在执行 git fetch 之后紧接着执行 git merge 远程分支到你所在的任意分支。
删除
1 | $ git remote -v |
git在终端不能识别中文
1 | $ git status |
core.quotepath设为false的话,就不会对0x80以上的字符进行quote。中文显示正常。
1 | git config --global core.quotepath false |