最近真正开始使用github,以前只是注册过帐号,一直没有利用起来。最近代码敲的多了,就想找一个地方保存起来。github成了个人首选。
我电脑使用的系统是fedora,因此对命令行情有独钟。相比较windows下的图像化的操做,linux下的命令行在我看来仍是不错的。因此写了一些文章,林林总总的将整个过程记录下来。
在这里推荐一下 廖学峰的git教程,做为一个初学者,看了文章以后能很快入门。linux
在整个流程开始以前,学要设置本机和github之间的ssh链接。具体参照廖雪峰的git教程。这是整个教程的基础。git
初始化的做用能够帮助咱们创建一个仓库,能够做为一个远程库 git init
须要先建立一个文件夹,这个文件夹的名字应该和你的仓库的名字相同,而后在文件夹内部使用这个命令,会生成一个.git文件夹,当前的目录就是工做空间。github
而后你就能够在当前的文件夹中开始编辑你的代码。windows
当你在github上创建里一个仓库以后,如今本地对这个仓库进行推送,必须先创建联系
`git push -u origin master
To git@github.com:yourUsername/yourRepositoryName.git`
在创建联系以前,必须对仓库进行初始化。ssh
git add .
git add命令主要是将文件信息添加到索引库中,当咱们在后面提交的时候,是根据索引库中的信息进行提交的。
最基本的git add [path]
其中,path能够是文件也是目录。
具体的命令能够参照git add 详解fetch
git commit -m '描述要提交的信息'
.net
最后一步就是提交个人代码了git push -u origin master
可是在个人提交过程当中,我遇到了两个坑
第一个:命令行
! [rejected] master -> master (fetch first)
error: 没法推送一些引用到 'git@github.com:nikomaniac/codePenLearning.git'code
提示:更新被拒绝,由于远程版本库包含您本地尚不存在的提交。这一般是由于另外
提示:一个版本库已向该引用进行了推送。再次推送前,您可能须要先整合远程变动
提示:(如 'git pull ...')。
提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。blog
后来在百度上一查,找到了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命令。在这里,须要获取远端更新并与本地合并