入门
最近真正开始使用github,之前只是注册过账号,一直没有利用起来。最近代码敲的多了,就想找一个地方保存起来。github成了我的首选。
我电脑使用的系统是fedora,所以对命令行情有独钟。相比较windows下的图像化的操作,linux下的命令行在我看来还是不错的。所以写了一些文章,林林总总的将整个过程记录下来。
在这里推荐一下 廖学峰的git教程,作为一个初学者,看了文章之后能很快入门。
流程
在整个流程开始之前,学要设置本机和github之间的ssh连接。具体参照廖雪峰的git教程。这是整个教程的基础。
初始化
初始化的作用可以帮助我们建立一个仓库,可以作为一个远程库 git init
需要先创建一个文件夹,这个文件夹的名字应该和你的仓库的名字相同,然后在文件夹内部使用这个命令,会生成一个.git文件夹,当前的目录就是工作空间。
然后你就可以在当前的文件夹中开始编辑你的代码。
添加远程库
当你在github上建立里一个仓库之后,现在本地对这个仓库进行推送,必须先建立联系
`git push -u origin master
To git@github.com:yourUsername/yourRepositoryName.git`
在建立联系之前,必须对仓库进行初始化。
文件信息添加到索引库
git add .
git add命令主要是将文件信息添加到索引库中,当我们在后面提交的时候,是根据索引库中的信息进行提交的。
最基本的git add [path]
其中,path可以是文件也是目录。
具体的命令可以参照git add 详解
将索引内容添加到仓库
git commit -m '描述要提交的信息'
提交
最后一步就是提交我的代码了git push -u origin master
但是在我的提交过程中,我遇到了两个坑
第一个:
! [rejected] master -> master (fetch first)
error: 无法推送一些引用到 ‘git@github.com:nikomaniac/codePenLearning.git’
提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外
提示:一个版本库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更
提示:(如 ‘git pull …’)。
提示:详见 ‘git push –help’ 中的 ‘Note about fast-forwards’ 小节。
后来在百度上一查,找到了git pull
这个命令的作用:取回远程主机某个分支的更新,再与本地的指定分支合并。它的完整格式稍稍有点复杂。
我不是很明白,直接运行了git pull 就出现了另一个坑。
! [rejected] master -> master (non-fast-forward)
error: 无法推送一些引用到 ‘git@github.com:nikomaniac/codePenLearning.git’
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 ‘git pull …’)。详见
提示:’git push –help’ 中的 ‘Note about fast-forwards’ 小节。
这个错误需要用到git fetch origin
远程主机的版本库有了更新(Git术语叫做commit),需要将这些更新取回本地,这时就要用到git fetch命令。在这里,需要获取远端更新并与本地合并