一、下载Git并安装 Git for Windowsgit
Git-1.8.4-preview20130916.exe 按照默认步骤完成安装github
二、设置SSH创建计算机与Github的连接bash
2.1 点击 开始菜单找到Git Bash服务器

2.2 在git bash上运行命令 $ cd ~/.ssh 检查本身电脑上是否存在ssh keysssh
若是显示No such file or directory 则须要去建立一个新的ssh keyspost
2.3 建立新的ssh keys测试
运行命令:网站
$ ssh-keygen -t rsa -C "youemail@youemail.com" 点击回车this
输入两次密码google
注:在Enter passphrase 的时候,输入的密码是看不到的,其实已经输入了,输完后点击回车就能够了
这样一个新的keys就建立完成了,上面代码显示,密匙位置放在了C:/Users/用户名/.ssh/文件夹中。(.ssh文件夹多是隐藏的,须要查看隐藏文件)
2.4 将生成的ssh keys 添加到github中
2.4.1 访问https://github.com/plans 先注册一个帐号后, 点击“Account Settings” > 点击 “SSH Public Keys” > 点击 “Add SSH key”

在本机找到你建立的密匙文件id_rsa.pub ,使用记事本打开,复制里面全部的内容,粘贴到网站key的文本框中,点击Add Key 保存
2.4.2 测试设置是否正确
输入命令:$ ssh -T git@github.com

输入$ yes
输入前面本身设置的passphrase,回车,显示以下即成功(忽略警告)

三、在本地设置Git信息,设置用户名和邮箱
$ git config --global user.name "Firstname Lastname"
$ git config --global user.email "your_email@youremail.com"
此处用户名为本身的实际姓名(自定义的),而非登陆用户名
四、Git建立一个库
点击new repository,输入repository名称,勾选“Initialize this repository with a README”复选框

五、上传项目代码
5.1 先clone刚才新建的repository 到本地
在要放置的硬盘文件夹位置, 右击鼠标,点击Git Bash

输入命令: $ git clone https://github.com/jenniferhuang/myssh.git ,在本地生成了myssh文件夹

5.2 切换到这个myssh目录下(能够看到该文件夹下有README.md),并将要上传的项目拷贝到该文件夹下面

5.3 执行如下5个命令
$ git init //命令1,初始化
$ git add . //命令2
$ git commit -m '提交说明' //命令3
$ git remote add origin git@github.com:github用户名/myssh.git //命令4,为仓库添加源地址
$ git push origin master //命令5
常见错误:
一、执行命令4时,出现错误:
fatal: remote origin already exists
则执行语句:$ git remote rm origin //执行后,再从新执行命令4,就不会报错
二、执行命令5时,出现错误:
error:failed to push som refs to.......
则执行语句:$ git pull origin master //先把远程服务器github上面的文件拉下来,再输入$ git push origin master
三、将命令4写成
$ git remote add origin https://github.com/jenniferhuang/myssh.git 可能会出现错误:
unable to find remote helper for 'htts'
解决方法,改为$ git remote add origin git@github.com:jenniferhuang/myssh.git
PS: git多分支工做
git支持不少种工做流程,咱们采用的通常是这样,远程建立一个主分支,本地每人建立功能分支,平常工做流程以下:
去本身的工做分支 $ git checkout work
工做 ....
提交工做分支的修改 $ git commit -a
回到主分支 $ git checkout master
获取远程最新的修改,此时不会产生冲突 $ git pull
回到工做分支 $ git checkout work
用rebase合并主干的修改,若是有冲突在此时解决 $ git rebase master
回到主分支 $ git checkout master
合并工做分支的修改,此时不会产生冲突。 $ git merge work
提交到远程主干 $ git push
这样作的好处是,远程主干上的历史永远是线性的。每一个人在本地分支解决冲突,不会在主干上产生冲突。