前言
最近整理自己以前写的代码,并上传代码到专门提供Git仓库托管服务的GitHub。Git是目前世界上最先进的分布式版本控制系统,可以用来管理我们的代码更改记录,实现我们的代码笔记同步。
感谢廖大神的博客:Git教程 ,让我加深了对git的理解。
感谢codingLou的博客:git2.9.2使用总结,解决了我遇到的问题。
环境
- git版本:2.11.0
配置过程中出了问题,花了些许时间才发现是较新的git版本引起的。 - 操作系统:win10
- 托管环境:GitHub
步骤
现在按照官网步骤来做就好(2017年6月5日更新):
1 | echo "# TestRepository" >> README.md |
准备好git客户端,windows平台推荐msysgit,下载地址https://git-for-windows.github.io,下载完默认安装即可。git bash中文乱码问题请转到最后。
GitHub上创建远程仓库,创建一个key,然后将公钥添加到github,用于与本地仓库关联
查看本地密钥:
1 | ls -al ~/.ssh |
创建密钥,其中邮箱可以不和你github上面的相同:
1 | ssh-keygen -t rsa -C "example@xx.com" |
用文本编辑工具打开并复制用户主目录的.ssh
文件夹的id_rsa.pub
,github设置中添加该公钥,接着验证公钥正确性:
1 | ssh -T git@github.com |
至此,可以准备提交你的代码了。
git bash中进入到需要上传的项目文件夹下,初始化本地仓库:
1 | git init |
如果创建远程仓库时勾选了Initialize this repository with a README
选项,可跳过这一步。
1 | touch README.md |
将所有文件添加到本地仓库中,包括README.md
1 | git add . |
提交改变到缓存:
1 | git commit -m "第一次提交" |
本地git仓库关联到github远程仓库,并实现同步:
1 | git remote add origin git@github.com:solano-yume/JustATest.git |
上面都没有问题,接下来是我这里出问题的地方,错误提示为:error: failed to push some refs to 'git@github.com:solano-yume/JustATest.git'
1 | git push origin master |
git新版本中把远程的origin仓库的master分支同步到本地,需要添加--allow-unrelated-histories
参数:
1 | git pull origin master --allow-unrelated-histories |
最后在将两个仓库关联:
1 | git push origin master:master |
解决bit bash中文乱码问题
- bit bash 中右键,选择”Option“
- 选择”Text“,设置字符编码为UTF-8.
杂项
删除github仓库的某个文件
1 | git rm --cached filename // cd进入该文件夹 |