eclipse 安装 git 插件

eclipse 安装 git 插件

eclipse git 插件 update 地址:

http://download.eclipse.org/egit/updates-1.3

eclipse 安装 插件 大家都懂得,但是简单介绍一下。

help->install new software
work with里add,name:egit,location:http://download.eclipse.org/egit/updates-1.3
ok,下拉框里选择egit,下面会出来能下载的插件。

选择next,next 下载完成后ok。

Linux下 git环境搭建:

环境:一台服务器: CentOS 5.2  (添加了EPEL软件仓库方法见这里 )    ip  : 192.168.0.1
一台工作用电脑:Ubuntu 9.04 (还有win7)
服务器端安装过程:1、安装http服务器,为gitweb 服务

命令:yum install httpd

2、安装 git   git-daemon git-svn  gitweb

命令: yum install git git-all  git-daemon git-svn gitweb

3、使用xinetd来运行git-daemon, 版本库在/pub/git 下  。
touch /etc/xinetd.d/git-daemon

配置内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
default:  off
# description: The git server offers access to git  repositories
service git
{
disable = no
type = UNLISTED
port = 9418
socket_type = stream
wait = no
user = nobody
server = /usr/bin/git-daemon
server_args = --inetd --export-all  --base-path=/pub/git
log_on_failure += USERID
}

4、 重启xinetd服务

1
service xinetd restart

5  、配置git-web

在CentOS下如果用yum安装,git-web是配置好的了。
打开网址 http://192.168.0.1/git/gitweb.cgi

具 体的配置文件  cat /etc/httpd/conf.d/git.conf 可以看到 ,git-web需要的相关文件在  /var/www/git 下。

6、从SVN初始化代码库
因为我是从SVN转向git的,很多项目需要从 SVN导入到git中。从git1.5开始git-svn就让这个工作很简单了。
命令:

1
git-svn  clone  svn-repository-url

导入后修改.git/文件夹下的  description介绍文件

在开始开发之 前,最好先做一次垃圾搜集:

 

命令:git gc

 

git-svn的其他使用方法:

用git从svn里clone最后几个版本
如何在svn系统中使用git

 

7、其他初始化方法$ cd (project-directory)

1
2
3
4
$ git init
$ (add  some files)
$ git add .
$ git commit -m 'Initial commit'

详 细见这里:http://linuxtoy.org/docs/guide/ch28s04.html

8、Cloning and Creating a Patch

1
2
3
4
5
6
$ git clone git://github.com/git/hello-world.git
$  cd hello-world
$ (edit files)
$ git add (files)
$ git commit  -m 'Explain what I changed'
$ git format-patch origin/master

9、 设置需要忽略的文件
具体可以参看这篇文章 :  Git .gitignore  设定与注意事项- 以Zim 操作为范例

客户机设置(win7系统下):注:git作为分布式版本控制系统,本质上是没有明确的服务器,客户机概念的,我这里是为了理解方便。

一、使用 TortoiseGit
需要安装 msysgit 和TortoiseGit  ,下载页面是:

http://code.google.com/p/tortoisegit/downloads/list

http://code.google.com/p/msysgit/

安 装完后,可以使用msysgit目录下的git-cmd.bat,操作都是使用命令,和Linux下无异。只是我在测试时,其对中文命名的文件支持不是很 好,我这就不在详诉。

二、使用Eclipse的jgit插件
JGit/EGit plug-in for Eclipse

a. 菜单  -> Help -> Install New Software -> ”Add” Button;

b.  ”Add Site”

Name : jgit Location

Location  :http://www.jgit.org/updates

c. 重启 Eclipse
三、 从服务器端的公共库上 clone 项目1. 在 Eclipse 中  Import 项目 -> Git -> Git Repository
2. 填写服务器公共库信息  ,点击“Next”;

3. 选择要 clone 的分支,点击“Next”;
4. 选择本地项目的存放路径。clone 操作是将整个公共库做一个镜像。
5. 现在公共库已经被 clone 到本地了。在clone选项中有个clone后导入Workspace的选项,这会自动导入。
6、新 建项目test

7. 新导入的 Test  项目,此时要告诉 Eclipse 对 Test 进行版本控制,仍然是:

右键 Test ->  Team -> Share Project -> Git -> 点击选择 ”Test” 名称 -> Finish;

至此一个 clone  到本地仓库的项目就被导入到 Eclipse 了。

8、新建分支

右键 Test ->  Team -> Branch;
新建分支后,点击checkout。很快!!
四、修改,提交,合并分支
1、编辑test.php文件,保存
2、保存修改后,右键点击 Test.php-> Team -> Commit并 提交;
3、右键 Test -> Team -> Push to… 使用默认的 Configured remote  repository 选项 -> Next;
4、选择 Source ref :  refs/heads/master | Destination ref : refs/heads/master,并点击 ”+ Add  spec”,或者直接点击 ”Add all  branches spec”;
5. 点击 ”Next” 或 ”Finish” 完成操作。

———————更新操作 ——————————————————————————-

6. 右键 Test ->  Team -> Fetch from… 使用默认的 Configured remote repository 选项 ->  Next,

此时  ”Specifications for fetch” 框内应该已经自动选择了要同步的内容,

Source Ref :  refs/heads/* | Destination Ref : refs/remotes/origin/* | Force Update已选,

点击  ”Finish”。完成后,本地的 remote/origin/master 分支就还是最新的了。

 

7、合并分支

使用git merge合并分支:

编辑 test  //增 加一点内容
git  commit -a -m ”slave分支”  //在当前分支提交此版本
git  checkout master  //切 换到 master分支
git  diff master slave  //比 较两个分支
git  merge slave  //合 并 slave分支 的内容
其他内容可以参考这里:http://linuxtoy.org/docs/guide/ch28s07.html

通过网络协作http://linuxtoy.org/docs/guide/ch28s09.html
补充:

Git的 Windows版本Msysgit对中文的支持不够好
当使用时,会出现以下三种情况的中文乱码:

1.ls不能显示中文目录
解 决办法:在git/git-completion.bash  中增加一行:

1
alias ls='ls --show-control-chars --color=auto'

2.git commit不能提交中文注释
解决办法:修改git/inputrc中对应的行:

1
2
set output-meta on 
set  convert-meta off

3.git  log无法显示中文注释
解决办法:在git/profile中增加一行:

1
export LESSCHARSET=iso8859

4.git  add的时候,中文的文件名会显示成乱码,解决方法是

1
2
git config core.quotepath false
export LESSCHARSET=iso8859

5  old mode 100755 new mode 100644
让git忽略掉文件权限检查:

1
git config --add core.filemode false

6 、Git: push 出错的解决 master -> master (branch is currently checked out)

这是由于git默认拒绝了push操作,需要进行设置,修改.git/config添加如下代码:
[receive]
denyCurrentBranch = ignore
在初始化远程仓库时最好使用 git –bare init   而不要使用:git init
如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时,   如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上,  也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset –hard才能看到push后的内容.

 

参考资料:

http://linuxtoy.org/docs/guide/ch28.html
http://www.bitsun.com/documents/gittutorcn.htm
http://rayleeya.javaeye.com/blog/476514

http://docs.google.com/View?id=dfwthj68_675gz3bw8kj

http://www.kernel.org/pub/software/scm/git/docs/everyday.html
http://www.kernel.org/pub/software/scm/git/docs/git-daemon.html
http://www.kernel.org/pub/software/scm/git/docs/
http://hoth.entp.com/output/git_for_designers.html
http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html

http://stackoverflow.com/questions/1257592/removing-files-saying-old-mode-100755-new-mode-100644-from-unstaged-changes-in

http://www.cnblogs.com/abeen/archive/2010/06/17/1759496.html

http://www.cppblog.com/deercoder/archive/2011/11/13/160007.html

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>