使用git上传下载github上的代码
1、安装git
2、在本地创建ssh key
ssh-keygen -t rsa -C "your_email@youremail.com"比如 ssh-keygen -t rsa -C "rayu@engineer.com"
邮箱就是你的github邮箱。
之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。
成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。
回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。
添加完成。
3、连接到github
 ssh -T git@github.com输入一个yes,会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。
4、设置常用的用户名和密码
git config --global user.name "your name"
git config --global user.email "your_email@youremail.com"这里的用户名和邮箱分别是github的用户名和邮箱。
5、进入仓库
git remote add origin git@github.com:yourName/yourRepo.git后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git目录,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。
6、提交上传
接下来在本地仓库里添加一些文件,比如README,
    git add README
    #git add .
    touch git.md
    git commit -m "first commit"上传到github:
   git push origin master   git push命令会将本地仓库推送到远程服务器。
   git pull命令则相反。
使用git status可以查看文件的差别,
使用git add添加要commit的文件,
之后git commit提交本次修改,git push上传到github。
或者git push origin master
7、克隆仓库
找到想要克隆的仓库。
git clone git@github.com:AloneMonkey/weekly.git提交上传的命令见第六步。
PS:
一、hexo新建md文件的命令是:
hexo new "git"会自带md后缀,哈哈,然后hexo d -g
二、出现错误解决方法
Please, commit your changes or stash them before you can merge.
Abortinggit pull时出现上述情况,解决方法如下:
这是因为如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,
在发布这个配置文件的时候,会发生代码冲突:
如果希望保留生产服务器上所做的改动,仅仅并入新配置项, 处理方法如下:
git stash 
git pull 
git stash pop然后可以使用git diff -w +文件名 来确认代码自动合并的情况.
反过来,如果希望用代码库中的文件完全覆盖本地工作版本. 方法如下:
git reset --hard 
git pull其中git reset是针对版本,如果想针对文件回退本地修改,使用
 git checkout HEAD file/to/restore  
进阶:
git stash save "work in progress for foo feature"当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,
’git stash list’ 命令可以将当前的Git栈信息打印出来,
你只需要将找到对应的版本号,
例如使用’git stash apply stash@{1}’
就可以将你指定版本号为stash@{1}的工作取出来,
当你将所有的栈都应用回来的时候,可以使用’git stash clear’来将栈清空。
 
                     
                     
                        
                        