git在本地项目中指定远程仓库地址并上传

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git在本地项目中指定远程仓库地址并上传相关的知识,希望对你有一定的参考价值。

其实可以有更简单的方法,就是在远程仓库建立仓库,然后用 git clone 仓库地址 命令来将远程仓库克隆到本地,然后再把我们之前的项目拷贝到该目录中,然后就是传统的git add git commit git push 等等。

这种情况很简单,但是个人觉得不是很专业,因为这样之后,我们本地可能又要重新import一次进入IDE(集成环境,但这都不是主要原因)。更重要的是,我们直接clone下来,其实git的仓库环境都已经有了,

我们就不会再自己动手去匹配本地仓库和远程仓库的关系,然后久而久之,可能就不是很利于新手去了解git的本地和远程的关系吧。

1建立远程仓库,可以github 码云都可以 把地址啥的记住就行。我创建的地址是:

https://git.oschina.net/GumpDai/boot.git 里面的文件我全删掉了,是个空仓库

技术分享

当然最好把远程仓库中生成的.gitignore readeMe 什么的都删掉,防止冲突

2用IDE建立项目,本文这里用的是idea,这个软件非常好用。项目建好之后,我们其实就想把项目上传到刚才新建的远程仓库中来让别人使用

1 利用git init 在项目跟地址来初始化本地仓库,这个时候项目就已经被git管理了。在项目根地址我们就可以看见.git文件夹(可显示隐藏文件夹),那里面保存的就是本地仓库的内容,git是分布式的,就是我们

本地仓库可以拥有一远程仓库和本地仓库的代码。

2 添加 .gitignore 文件,并在里面配置好要忽略上传的全部文件,这里可以自行百度。如果是maven项目 ,除了src,pom.xml 以及 .gitignore文件,其他的都应该加进去(这个懂了就可以自己添加了),我

先分享我的.gitignore文件

技术分享

3我们已经可以使用git status 或者 git add git commit 等等将 项目代码提交到本地仓库中 。

技术分享

但是 当执行git push的时候,

技术分享

出现了这个,总结一下就是,没有配置能够接收我们项目代码的远程仓库,仔细想想,刚才我们建立的远程仓库的地址还没用过对吧?

4 给当前项目添加一个远程仓库,其实一个项目可以有多个远程仓库,就是我们可以把代码推送给不同的仓库,只要我们本地告诉git我要推送到哪里,并且我们本地有那个仓库的推送权限,

就可以把代码推送上去。

只是我们一般开发的时候只使用一个仓库,一般命名叫做 origin(根源)。那我们也就在本地添加吧 git remote add origin https://git.oschina.net/GumpDai/boot.git 这个命名就是

让本地知道我们有了一个远程仓库,我们把他的名字叫做 origin地址是 https://git.oschina.net/GumpDai/boot.git

技术分享

。然后我们再来push试试,按理说,我们已经告诉git 远程仓库的地址了,那么应该可以直接把代码传上去了吧。

然而

技术分享

还是这个问题,再看一下,and then push using the remote name git push <name> 来push,也就是说,我们push的时候要告诉git ,我要推到哪一个远程仓库,

这里原因之前说过,就是我们可以保存多个remote远程仓库的地址在本地,不同的名字表示不同的仓库。我们现在需要把我们当前的master分支设置默认推送的远程仓库,

不然以后推送或者更新都要指定远程仓库地址,太麻烦。

命令如下:git branch --set-upstream master origin/master

当前我们本地的分支默认是master ,远程仓库建立的时候默认也有一个master ,本地的master分支只有一个一个, origin/master 的意思是,我们要推送到

名称为orgin 的远程仓库下的master分支里。我们试试

技术分享

执行之后发现:

技术分享

原因就是说:如果远程仓库已经存在,我们需要更新一下,因为现在本地仓库不能确认那个远程仓库是否存在,或者说是否有冲突,

就是同步和验证的过程,在平时使用svn或者git都一样,需要先更新再上传

技术分享

已经更新成功,然后再添加本地仓库和远程仓库的对应关系

技术分享

添加成功对应关系,然后再push

技术分享

又发生了什么?这个原因如果你们是建立的新仓库是不会发生的,我是使用的老的远程仓库,就是手动把老的仓库中的代码删掉了,

但是这些在git中都是有log的,所以导致和我本地的log有冲突,我本地的log是新的。所以这里需要执行一个命令,允许将那些

冲突的log merge掉,如下

最后执行

git pull origin master --allow-unrelated-histories

技术分享

最后终于push

技术分享

远程仓库

技术分享

 

以上是关于git在本地项目中指定远程仓库地址并上传的主要内容,如果未能解决你的问题,请参考以下文章

git 创建本地仓库远程仓库,上传项目

git创建远程仓库地址---上传代码

git将本地项目上传到远程仓库

将本地仓库上传至远程Git仓库

玩转git--创建新仓库并上传代码

git命令行将本地项目上传到仓库