2020-4-15 13:53:27 | 作者:老铁SEO | 0个评论 | 人浏览
GitLab是由Ruby语言开发的基于Linux的Git服务器,是我见过的最强大的Git服务器。发现它之后,立即决定将Git服务器换成GitLab。
但安装好GitLab之后面临一个问题,如何将服务器上的git项目直接导入到GitLab,之前的Git服务器是由是git+apache搭建的(详见在Linux上用Apache搭建Git服务器)。
在网上发现了这篇文档——ImportbarerepositoriesintoyourGitLabinstance,并按之进行了操作。
1)设置存放代码库的主目录
vi/etc/gitlab/gitlab.rb
比如这里设置为:git_data_dir"/gitlab/repos"
2)访问刚搭建的GitLab站点,创建一个group,比如cnblogs。
这时会在/gitlab/repos下创建/gitlab/repos/repositories/cnblogs文件夹。
然后在/gitlab/repos/repositories/创建一个文件夹,比如cnblogs
3)将现有的所有git项目文件复制到这个文件夹
cp-r/data/git/*/gitlab/repos/repositories/cnblogs
4)修改一下复制过来的文件夹的所有者:
chown-Rgit:git/gitlab/repos/repositories/cnblogs
5)运行GitLab导入命令
cd/var/opt/gitlab
gitlab-rakegitlab:import:repos
等了一段时间之后,显示done,却一个项目也没导入进来。
经研究发现,在导入时,GitLab只认文件夹名以.git结尾的项目。于是,将要导入的项目文件夹名称加上.git后缀,再次进行导入。
结果显示导入成功,比如:
Processingcnblogs/CNBlogsJob.git
*CreatedCNBlogsJob(cnblogs/CNBlogsJob.git)
Done!
可以是GitLab站点上却看不到已导入的项目。多次努力,也没能解决这个问题。
后来,实在没办法,改为手动导入,导入方法如下:
1)在GitLab站点上创建与要导入的项目同名的项目。
2)进入刚创建的项目文件夹
cd/gitlab/repos/repositories/cnblogs/项目名称.git
3)删除该文件下的所有文件
rm-rf*
4)将要导入的项目文件夹下的所有文件复制过来
cp-r/data/git/CNBlogsJob/*/gitlab/repos/repositories/cnblogs/CNBlogsJob.git
就这样将项目一个一个地导入进来。
5)导入完成后,修改一下导入的所有项目的文件所有者
chown-Rgit:git/gitlab/repos/repositories/cnblogs
如果不修改所有者,客户端无法进行gitpush。
就这样手动地完成了现有Git项目的导入。
备注:操作系统是CentOS6.2,GitLab版本是7.8.4
vscode使用git教程
1、用vs打开你的项目文件夹
2、配置git
打开GitBash输入以下命令
如果还没输入全局配置就先把这个全局配置输入上去
Git全局设置:
gitconfig--globaluser.name"ASxx"
gitconfig--globaluser.email"123456789@qq"
然后开始做提交代码到码云的配置
正常情况下上面的命令执行完成后,本地文件夹会有一个隐藏的.git文件夹,云端你的仓库里应该会有一个README.md文件。
eclipse使用git教程
EclipseJavaEEIDE中已经包含了git,所以,就不用再额外安装了。
将eclipse中的工程用git来控制
1:选中工程的名字,右键选中“Team”-->ShareProject,然后选中git,接着需要选中git的仓库。单击确定。这一步完成之后,这个工程的目录,会从eclipse的workspace目录转移到git仓库的目录。
2:选中工程的名字,右键选中“Team”-->commit,然后在unstagedchanges框中选中需要提交的文件,右键选择“addtoindex”,这样,这些文件会被移动到“stagedchanges”中,接着在commitmessage中输入修改信息,最后,单击commit。这样,工程就被git管理起来了。
将git的工程推送到github中
上述两步完成之后,代码还是在本地计算机中保存了一份。我们还可以将代码保存到github上。前提是需要在github上注册,并建立一个仓库。
右键选中“Team”-->remote-->push,然后再URI中输入自己的github中的仓库路径,输入用户名密码。在后续的窗口,“sourceref”选择“refs/heads/master”,然后单击“AddAllBranchesSpec”和“AddAllTagsSpec”,最后单击“ForceUpdateAllSpecs”后完成。这样,这个代码就被保存在github上了。
从git和github中获取目录
用上述方式建立的版本控制,只有一份代码在本地,所以,它不像svn一样,会从远程获得一份副本。不过,如果在github上提交了本地git仓库里面的代码的话,我们还可以通过git的方式来取得代码。具体方式如下:
通过浏览器,在github上找到工程URI的路径,并复制此路径。打开git仓库界面,选中Remotes,右键选中“pasteRepositorypathorURI”,如果以前使用过github,那么后续的界面上将会填好用户名等信息,最终单击确定,就可以将github上的代码保存到本地的git仓库中。
展开刚下载好的WorkingTree,选中指定的工程,右键选中“ImportProjects”,就可以将从github上下载的工程导入到eclipse的projectexplorer中。