1.

安装git:

sudo apt-get install git-core git-gui git-doc

2.到https://github.com/ 注册一个帐号,一会儿客户端登录的时候要使用的。

3.
在客户端安装SSH Key,方便我们在客户端安全登录:

cd ~/.ssh

如果提示“没有那个文件或目录”,那么说明你以前没有生成过SSH Key,直接跳到第4步,否则保存从前的SSH Key:

ls
mkdir key_backup
cp id_rsa* key_backup
rm id_rsa

4.

ssh-keygen -t rsa -C "your_email@youremail.com"

注意:上面要填你注册的邮箱;
然后会询问保存key的位置,我们选择默认,一直enter就可以了

5.
登录githut,有一个Account Settings,点SSH public Key,然后打开第4步生成的id_rsa.pub文件,全部复制到key一栏,title可以随便取,点击Add Key;

6.
然后我们测试一下连接:

ssh -T git@github.com

第一次会有一个错误提示,不用管他,输入yes,之后如果顺利,应该会有“Hi 你的注册用户名! You've successfully authenticated, but GitHub does not provide shell access.”的提示,表示正确连接到了github

7.

git config --global user.name "你自己的名字,可以不是注册名"
git config --global user.email "你自己的邮箱,可以不是注册邮箱名"
git config --global github.user github的注册名
git config --global github.token XXX

注意:XXX通过如下方式获取:
登录github,有一个Account Settings,点击里面的“Account Admin“, 其中的API Token即是上述的XXX
至此,我们已经可以用github了,下面来创建一个Repository

8.打开 https://github.com/repositories/new,填上项目名,描述,主页等,点击“Create Reopsitory”,这时在我们的账户里就创建了一个Repository,但它是空的,下面我们往里加东西:

9.

mkdir XXX

(XXX是本地要和github同步的文件夹)

cd XXX
git init
touch README

(作为例子,我们把这里的README同步到上面的Repository里)

git and README
git commit -m 'XXXXXXXXx'

(XXX是你本次同步所添加的注释,方便日后追踪)

git remote add origin git@github.com:XXX/YYY.git

注意:XXX是你的github注册名,YYY是刚才创建的Repository名

git push origin master

完成之后,在你的Repository里就会有刚才check in的README了。

10.
更新文件

vi README

自动commit更改文件

git commit -a

更新至远程

git push origin master

11. 
创建和合并分支

git branch

显示当前分支是master

git branch new-feature

创建分支

git checkout new-feature

切换到新分支

vi page_cache.inc.php

git add page_cache.inc.php

Commit 到本地GIT

git commit -a -m "added initial version of page cache"

合并到远程服务器

git push origin new-feature

如果new-feature分支成熟了,觉得有必要合并进master

git checkout master
git merge new-feature
git branch
git push

则master中也合并了new-feature 的代码

再登录到GitHub可以看见"Switch Branches"下的分支选项:

最新文章

  1. Visual Studio 2015 速递(4)——高级特性之移动开发
  2. Windows安装java
  3. Shell脚本获得变量值作为新变量一部分的值
  4. ElasticSearch版本升级备忘录(1.5.2至2.3.1)
  5. 屏蔽页面js报的错误
  6. POJ 1113&&HDU 1348
  7. 华为OJ:2041 放苹果
  8. magento产品eav笔记【持续跟新...】
  9. DButils工具类能够用来获取数据库连接向数据库插入更新删除对象2
  10. 【Spark亚太研究院系列丛书】Spark实战高手之路-第一章 构建Spark集群(第五步)(2)
  11. hdu_5806_NanoApe Loves Sequence Ⅱ(双指针)
  12. PYQT4 : QSystemTrayIcon练习
  13. 项目中AppDelegate详解
  14. Tigase8.0 源代码分析:一、启动篇
  15. python安装虚拟环境virtualenv
  16. 《CSS世界》读书笔记(一)
  17. keras学习简单线性回归【1】
  18. git server 配置
  19. chromedriver与chrome各版本及下载地址
  20. [UE4]把枪抽象为一个类

热门文章

  1. InetAddress类和InetSocketAddress的使用
  2. jQuery与Zepto
  3. 《JAVA多线程编程核心技术》 笔记:第二章:对象及变量的并发访问
  4. MD5-【验签】
  5. Jmeter--正则表达式提取值
  6. pip安装Scrapy框架报错
  7. php and mysql pear的安装
  8. <2014 05 09> 程序员:从C++转到Java需注意的地方
  9. 开机启动/etc/rc.local失效无效怎么办?解决方法
  10. 解锁Opera浏览器新姿势:【Surf The Internet In Right Ways】