1. 新建目录work
命令:mkdir work
2. 初始化git仓库
进入Vwork,然后命令:git init
3. 配置git
每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
4. 创建ssh key
命令:ssh-keygen -t rsa -C "XXX@163.com" , 然后就一直回车,会在主目录下生成.ssh文件夹,里面有两个或三个文件,其中我们只要用到一个,那就是公钥:id_rsa.pub,这个文件。
5. github添加公钥
进入github,点击右边的setting->SSH keys and GPG keys。
接着点击New SSH key,将我们第三部的id_rsa.pub的内容复制到key中,title的话随便取,自己知道就可以了,区别时谁提交的就行。
6. github新建项目repositories
复制项目git地址:git@github.com:vionny/work.git
7. 提交代码
7.1 提交代码到本地
新建或拷贝代码到work目录,然后pull 和commit 代码到本地。
7.2 本地文件夹关联github上的项目
git remote add origin git@github.com:jonny/work.git
将本地文件夹和github仓库关联,后面是你自己的github仓库地址
7.3 拉取github项目的代码
git pull orgin master
7.4 提交到github
git push origin master
注意:
有可能在7.3和7.4的时候会报错“
fatal: refusing to merge unrelated histories // 拒绝合并无关历史
git 的 官方文档 是这样描述的:
By default, git merge command refuses to merge histories that do not share a common ancestor. This option can be used to override this safety when merging histories of two projects that started their lives independently. As that is a very rare occasion, no configuration variable to enable this by default exists and will not be added.
默认情况下,git合并命令拒绝合并没有共同祖先的历史。当两个项目的历史独立地开始时,这个选项可以被用来覆盖这个安全。由于这是一个非常少见的情况,因此没有默认存在的配置变量,也不会添加。
需要这样才行:git pull origin master --allow-unrelated-histories
至少我的问题是这样解决了,但是好像还有其他网友也没法用这个命令解决。
然后在看下github的work目录下就有代码了: