git与github
git有本地库和远程库,本地库就是本机电脑,远程库如代码服务器(在百纳的时候是http://codeserver.baina.com/)或github。
要将本地代码传送到远程库,首先必须在相应要传的代码或文件的目录下创建其本地库,然后将代码或文件传到本地库,再从本地库传到远程库。
本地库存放在.git文件夹下,这是个隐藏目录,需要ls -a才能看到。
具体如下:
如果这个工程是没有git库,要传到远程库,执行以下操作:
git init 这句话会初始化空的git版本库 git add . 这个地方需要注意,“.”表示把当前目录所有的东西添加到git库里,如果只加某一个文件,就git add+文件名 git commit -m 'first commit' git remote add origin git@github.com:royanimal/DolphinNews.git git push -u origin master
如果这个工程有git库,要将git库里的东西传到远程库,执行以下操作:
git remote add origin git@github.com:royanimal/Dynamic_cnn.git 将已有的git库传到远程
git push -u origin master
如果这个工程有git库,要将更新的东西传到远程库,执行以下操作:
git add+要更新的文件名 git commit -m "second commit" git remote add origin git@github.com:royanimal/Dynamic_cnn.git git push -u origin master
有一点需要明确,只要你的工程是远程git clone下来的,那在本地,这个工程本身就有.git文件夹。在.git文件夹的config文件里,你能看到你的分支和远程的主机:
远程主机叫origin,主机地址是xyzhou@codeserver.baina.com:29418/DolphinNews,且所在的分支是master。
因为你是从百纳的服务器上git clone下来的,所以你这个文件本身就是百纳服务器的一个分支,并且还是追踪分支
如果你想把这个工程传到自己的github上,有3个办法:
1.直接删除原来的git仓库(删除后,这就是一个独立的本地工程文件,没有与之前服务器的联系,也不会是以前服务器的分支),然后新建一个git仓库。删除git仓库命令是:
find . -name ".git" | xargs rm -Rf
2.将这个本地仓库关联到github的远程仓库
3.将主机origin的url改成github的
git remote add origin git@github.com:royanimal/Dynamic_cnn.git 的格式是git remote add name url,即在url创建名字为name的仓库,将本地的仓库和远程的仓库进行关联。这个名字就指代了远程仓库,这样就不用输入一长串的url来访问远程仓库。比如git push -u origin master就是传送到名叫origin的主机的master分支。对于一个工程,他的远程仓库的名字不能重复(一个url一个主机名,有种特殊情况:一个url可以有多个主机名):
github一个仓库容量是1G,单个文件超过50M就要warning,无法上传超过100M的单个文件
比如DolphinNews这个工程,我是从百纳的代码服务器上git clone下来的,这个在我电脑上叫DolphinNews的工程就叫一个本地分支,代码服务器上的DolphinNews就是远程分支。主机名是为了方便识别,