首页 > 代码库 > IDEA GIT连接Git@OSC
IDEA GIT连接Git@OSC
Git介绍请关注
廖雪峰的官方网站查看说明或是在Oschina中查看帮助
?
IDEA配置:
首先安装git for windows?推荐使用这个:http://msysgit.github.io/?
可以在任何目录 右键——git bash 弹出对应路径的 git 命令行窗口 而且启动速度比较快
在Intellij中Settings——Version Control——Git——Path to Git executable
找到安装git ?bin目录下的git.exe
1.方法一 ?适用于新建项目
先在Git@OSC上创建仓库 ?拿到Git@OSC仓库的HTTP连接http://git.oschina.net/lujianing/GitOSC.git
在Intellij IDEA工具栏中 VCS——Checkout from Version Control——Git 粘贴 URL 然后点击CLONE?
会创建并且复制仓库文件到本地项目中,注意:你创建的是一个poject,请自行创建对应的model。 ?然后你可以做相应的修改操作,你就可以在本地项目中进行Git ?add commit等操作了
最后可以在项目中Git ——Repositroy——PUSH ?提交到Git@OSC中了(第一次提示输入账号密码)
就是这么简单 有木有....
下面是对应的一些截图
?
2.方法二 ?适用于已有项目
先在Git@OSC上创建仓库 ?拿到Git@OSC仓库的HTTP连接http://git.oschina.net/lujianing/test2.git
如果本地项目非Git项目 首先把项目变成Git的项目
在intellij中 VCS——Import into Version Control——Create Git Repository ?选择你的本地项目?
通过git shell (可以安装git for window) 进入到项目目录?执行?
git remote add origin http://git.oschina.net/lujianing/test2.git
git push -u origin master??(这个是命令行提交项目可以不用执行 ?参考方法一中在intellij中push)
如果提交失败 请参考git提示进行解决 ?比如已经有remote地址 可以git remote?rm?origin清除
如果是仓库中有其他文件 ?本地项目中没有?可以参考后两个图 首先merge项目?
项目就提交到Git@OSC了 ? 以后的再有修改提交仓库就可以参考方法一的push操作了?
就是这么简单有木有
下面是对应的一些截图
?
git for windows推荐使用这个:http://msysgit.github.io/
可以任何目录 右键——git bash 弹出对应路径的 git 命令行窗口 而且启动速度比较快
对于方法二 适用于已有项目 ?
通过命令行?git remote add origin xxxxxxx ?后 添加远程连接后
首先?git remote?pull 从远程同步项目文件?
?
常见错误:
1.error:failed to push some refs to ...
当要push代码到git时,出现提示:
error:failed to push some refs to ... Dealing with "non-fast-forward" errors From time to time you may encounter this error while pushing: $ git push origin master? To ../remote/? ?! [rejected]??????? master -> master (non-fast forward)? error: failed to push some refs to ‘../remote/‘? To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes before pushing again.? See the ‘non-fast forward‘ section of ‘git push --help‘ for details. |
??
问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:
??
强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容
git push -f
??
2.?先把git的东西fetch到你本地然后merge后再push
$ git fetch
$ git merge
这2句命令等价于
$ git pull?
可是,这时候又出现了如下的问题:
上面出现的?[branch "master"]是需要明确(.git/config)如下的内容
[branch "master"] ??? remote = origin ??? merge = refs/heads/master |
这等于告诉git2件事:
1,当你处于master branch,?默认的remote就是origin。
2,当你在master branch上使用git pull时,没有指定remote和branch,那么git就会采用默认的remote(也就是origin)来merge在master branch上所有的改变
如果不想或者不会编辑config文件的话,可以在bush上输入如下命令行:
$ git config branch.master.remote origin?
$ git config branch.master.merge refs/heads/master?
之后再重新git pull下。最后git push你的代码吧。
?
3.git错误:fatal: remote origin already exists.
输入 git remote rm origin 即可?
?
?
4.如何同时维护多个GIT REMOTE 及 FATAL: REMOTE ORIGIN ALREADY EXISTS 的问题解决
微信公众群比如‘python-django‘里不少小伙伴都在使用github做开源代码,为了分享面更广泛能不能同时维护多个git而不用同一源码在本地拷贝多份呢?
答案是可以的,举个例子,我有个项目已经在github上了:
$ git remote add origin http://github.com/objcc/HappyNewYearIOS.git
查看配置:
$ vi .git/config
[remote "origin"]
?? url = https://github.com/objcc/HappyNewYearIOS.git
?? fetch = +refs/heads/*:refs/remotes/origin/*
?
会报"fatal: remote origin already exists"错误失败。解决方法是换个名字:
$ git remote add oschina http://git.oschina.net/objcc/HappyNewYearIOS.git
$ git push oscine master
?$ git remote -v
origin????https://github.com/objcc/HappyNewYearIOS.git (fetch)
origin????https://github.com/objcc/HappyNewYearIOS.git (push)
oschina????http://git.oschina.net/objcc/HappyNewYearIOS.git (fetch)
oschina????http://git.oschina.net/objcc/HappyNewYearIOS.git (push)
这里将‘orign‘换成了‘oschina‘,然后在push到osc时也是一样。
安装GIT请看oschina的帮助文档,注意,注册完帐号后要在帐号配置中重置密码,刚开始不知道。折腾半天。刚注册完的密码可能为空。
IDEA GIT连接Git@OSC