Git目前肯定是最为主流的版本控制系统了,但是自己在项目中使用的还是比较少。因为之前的公司一直是使用的svn,所以也就导致了自己对于git的使用,缺乏熟练度。
今天在项目中遇到一个问题,自己写了一个服务端代码的sdk,是自己本地先创建了项目。项目完成之后需要提交到公司的远程仓库,和领导说了之后,领导给了一个远程仓库的git地址,让我提交上去。
哈哈哈,一开始内心是拒绝的。。。
所以今天在此特地记录下这种类型的处理方法,以便后面使用学习。
主要用到的命令有两个:
git remote add origin [email protected]:dysh/test.git
git push -u origin master
第一个命令是将本地仓库和远程仓库进行关联。
第二个命令是将本地代码提交远程仓库。
本来以为就是这个简单,但是在使用的过程中还是出现了很多的问题。
第一个问题,本地仓库没有初始化:
在使用git remote add origin [email protected]:dysh/test.git
命令的时候,git给出了一个错误,如下:
fatal: not a git repository (or any of the parent directories): .git
原因很明显,提示也已经给出了。不是一个仓库,缺少.git文件
解决方法:
初始化本地仓库,把代码的文件夹变成一个仓库,使用git init
命令。
git init
之后在项目中便会出现.git文件
然后再继续执行git remote add origin [email protected]:dysh/test.git
命令,没有任何问题。正常执行。
然后再执行git push -u origin master
,下面出现了第二个问题。
第二个问题:本地代码未提交
提示的错位代码如下:
error: src refspec master does not match any
error: failed to push some refs to '[email protected]:dysh/test.git'
解决方法也很简单:提交本地代码。
git add .
git commit -m project init
然后再执行
git push -u origin master
至此,本代代码正式关联并提交到远程仓库,别人就可以下载了。
既然在这次的使用过程中遇到了这几个问题,使用到了这几个命令,那就再分析以下这些命令的含义:
git remote add origin [email protected]:dysh/test.git
这个命令很好理解,就是把本地和远程的仓库关联origin
是远程仓库的意思,后面跟着的就是远程仓库的意思。
git push -u origin master
.gitignore
文件的使用:参考这里.gitignore的使用