简介
开源中国提供了Git服务(地址:http://git.oschina.net/),在速度上比国外的github要快很多。使用了一段时间,感觉很不错。oschina git提供了演示平台,可以运行提交到git的代码(注意,如果是java项目,则需要项目是maven项目),如下图:
支持的应用类型有
本文介绍了在window平台下用git客户端管理远程git代码,并整合到IntelliJ中。
1. 创建项目
到 http://git.oschina.net/projects/new 中创建自己的项目,按照提示一步步来就可以了。
建议一开始设置为私人项目
2. 使用Git客户端管理代码
2.1 下载&安装Git客户端
如果你已经有git客户端,可以跳过此步。
下载地址为 http://msysgit.github.io/
安装时根据自己的实际情况进行选择。完成后在开始菜单有Git目录
打开git bash,可以用git命令进行代码的操作,这里就不详细说了。
3. IntelliJ下使用git
这一节主要讲如果在IntelliJ中使用git,显示配置git,然后我将代码管理分成两种情况:分享本地已有项目,从git检出项目到本地
3.1 配置git
打开IntelliJ的setting页面,按照下图进行配置
Path to Git executable 中选择git客户端的路径。
点击旁边的Test(截图中没有的)检测一下,出现下面类似窗口就表示ok了
3.2 分享本地代码到git服务器
此情况是将本地的IntelliJ项目分享到git服务器。
1. 先将项目变成git项目,步骤:在intellij中 VCS——Import into Version Control——Create Git Repository 在弹出的窗口中选择你的本地项目,操作完在项目目录下就有了.git 文件夹
2. 这时需要将本地的git关联到git服务器中(需要先在oschina git 中创建好项目,然后复制项目的git地址),用git bash进入项目根目录
执行:
git remote add origin https://git.oschina.net/0604hx/d3lesson.git
(注意, https://git.oschina.net/0604hx/d3lesson.git 是我的项目地址,实际使用中请替换成你自己的项目)
输入用户&密码后,完成。
3. 执行
git push -u origin master
如果提交失败 请参考git提示进行解决 比如已经有remote地址 可以git remote rm origin清除
如果是仓库中有其他文件 本地项目中没有 可以参考后两个图 首先merge项目 使用:git pull origin master 然后在执行 git push -u origin master
项目就提交到Git@OSC了 以后的再有修改提交仓库就可以参考方法一的push操作了
4. 遇到的错误和解决方案
a)如果输入$ git remote add origin
提示出错信息:fatal: remote origin already exists.
解决办法如下:
输入$ git remote rm origin
b)如果输入$ git push origin master
提示出错信息:error:failed to push som refs to …….
解决办法如下:
先输入$ git pull origin master //先把远程服务器github上面的文件拉下来
再输入$ git push origin master
c)如果出现报错 fatal: Couldn’t find remote ref master或者fatal: ‘origin’ does not appear to be a git repository以及fatal: Could not read from remote repository.
则需要重新输入$ git remote add origin ………
3.3 从git服务器获取项目代码
1. 如图
在弹出的的窗口中输入git地址,本地的保存目录,就可以了。
接着一系列的设置,项目就同步到本地了。
3.4 提交代码到git服务器
当我们修改了本地的代码后,就需要commit到服务器(在IntelliJ中,如果文件被修改过,文件名就为红色),这时我们可以右击项目
如果有新文件夹或者文件添加了,要先Add到git版本控制中去,不然会提示没有修改内容。
在示例中我添加了 css 目录,以及style.css 文件。我将它们加入git,可以再 Version control 视图中看到操作记录
ADD了之后,选择commit Directory
Commit Message 不能为空,然后可以选择“commit”或者“commit and push”,一般选择后者,可以直接更新到服务器,如果只选择了commit,可以在下面的菜单中push到服务器:
最后到oschina中看看,文件已经提交上去了
注意:
1. git 不会讲空目录加入版本控制,比如下面中有一个images文件夹,里面是空的,这时git是会忽略它的。想要让空文件夹加入版本控制,可以参考: http://www.myexception.cn/open-source/1740537.html