1 设置全局git用户名和邮箱
git config --global user.name "your UserName"
git config --global user.email "your email"
注意: 这个用户名和邮箱只是你设置在本机的,不会做用户名和邮箱的校验,其实是可以随便设置的。好像有时候git也可能会向这个邮箱发送邮件,提示git警告。
2 生成SSH密钥
- 查看是否已经有了ssh密钥:
cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除 - 生存密钥:
ssh-keygen -t rsa -C “your email”
按3个回车,密码为空。 - 生成密钥成功后,会出现如下一段代码,可以看到密钥的存放路径
Your identification has been saved in /home/tekkub/.ssh/id_rsa.
Your public key has been saved in /home/tekkub/.ssh/id_rsa.pub.
The key fingerprint is:
………………
- 使用文本编辑器打开文件目录下的 “id_rsa.pub”,这个是存放的git公钥,ssh key就是去掉邮箱后的全部内容
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDG4dfq8hVzk5yWRpEbyERRs5FZh3+okiDuZI+9HmsTsaz7RaS7+WcGSyWyZFHV1AAUd/GYhncgiLhrCCWM/6pM11eZsw1uUnrqg0khBHDY5T5OwV+LNP4AKr4YqqdLTfS+yeFkuo/sVF3bO5leB60NeTdhyBm/U+Xpna+C88v0S/NzMW/++jpiuFYZfk978HZtwBSh0K7l24vZYka8gr+BXfbcervYREuqG6B2HEu8T4CDhlTskmjSTiRxZUBml22kqxAlJa1e8WbYO6aSIFXOlnLL6XcUV+QBaPTbAsqzFpP5lYvIHalPT3tSTtUsdAXoquTR2jrE0UurRSj4T/Xz “your email”
ssh
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDG4dfq8hVzk5yWRpEbyERRs5FZh3+okiDuZI+9HmsTsaz7RaS7+WcGSyWyZFHV1AAUd/GYhncgiLhrCCWM/6pM11eZsw1uUnrqg0khBHDY5T5OwV+LNP4AKr4YqqdLTfS+yeFkuo/sVF3bO5leB60NeTdhyBm/U+Xpna+C88v0S/NzMW/++jpiuFYZfk978HZtwBSh0K7l24vZYka8gr+BXfbcervYREuqG6B2HEu8T4CDhlTskmjSTiRxZUBml22kqxAlJa1e8WbYO6aSIFXOlnLL6XcUV+QBaPTbAsqzFpP5lYvIHalPT3tSTtUsdAXoquTR2jrE0UurRSj4T/Xz
- 将生成的ssh key 添加到git服务器网站(gitHub、开源中国等)
3 新建项目到git服务器
- 在服务器网站中新建一个项目,新建项目时最好直接添加上 README 和 .gitignore 文件,不同的编程语言可以选择不同的.gitignore文件
添加.gitignore可以忽略一些不必提交的自动改动,简化提交
- 使用命令行cd到一个文件夹,我一般是直接在桌面,
- 从服务器克隆项目,后面为你新建项目的地址,此处我以AFN仓库为例
git clone https://github.com/AFNetworking/AFNetworking.git
- 克隆完成后,文件夹下(桌面)会生成一个工程的项目文件,此处为AFNetworking,使用命令行cd到新生成的项目路径中去
- 将需要上传的工程文件拷贝到克隆出来的文件夹中
- 初始化git仓库
git init // 在当前项目目录中生成本地git管理,并建立一个隐藏.git目录
- 添加文件到git中
git add . // 添加当前目录中的所有文件到索引
- 提交到本地代码仓库
git commit -m "first commit" //提交到本地源码库,并附加提交注释
- 提交到远程代码仓库
git remote add origin https://github.com/AFNetworking/AFNetworking.git //添加到远程项目,别名为origin (后面的是项目地址)
如果报错说远程仓库中已经存在,则先移除远程仓库
git remote rm origin
之后再执行这句
- 推送本地代码到服务器
git push -u origin master //把本地源码库push到github 别名为origin的远程项目中,确认提交
如果报错说本地文件不是最新的,则先拉取远程仓库文件
git pull origin master
之后再执行push操作