如何在Linux下使用Gitblit工具创建Git仓库服务
1创建Gitblit安装目录
首先我们将在我们的服务器上建立一个目录,并在该目录下安装最新的Gitblit。
$ sudo mkdir -p /opt/gitblit$ cd /opt/gitblit
创建gitblit目录
2 下载并解压
现在,我们将从Gitblit官方站点下载最新版的Gitblit。这里我们将安装162版本。所以,请在安装时根据具体的版本对命令进行修改。
$ sudo wget http://dlbintraycom/gitblit/releases/gitblit-162targz
下载gitblit安装包
接下来,我们将下载到的tar压缩包解压至之前创建的目录 /opt/gitblit/
$ sudo tar -zxvf gitblit-162targz
解压gitblit压缩包
3配置并运行
现在,我们将对Gitblit进行配置。如果你想要定制Gitblit的行为,你可以修改gitblit/data/gitblitproperties。在完成配置后,我们将运行安装好的gitblit。有两种方式来运行gitblit,第一种是通过下面的命令手动运行:
$ sudo java -jar gitblitjar --baseFolder data
另一种是将gitblit添加为服务。下面是在linux下将gitblit添加为服务的步骤。
由于我在使用Ubuntu,下面的命令将是 sudo cp service-ubuntush /etc/initd/gitblit,所以请根据你的发行版修改文件名service-ubuntush为相应的你运行的发行版。
$ sudo /install-service-ubuntush$ sudo service gitblit start
启动gitblit服务
在你的浏览器中打开http://localhost:8080或https://localhost:8443,也可以将localhost根据本地配置替换为IP地址。输入默认的管理员凭证:admin / admin并点击login按钮。
gitblit欢迎页面
现在,我们将添加一个新的用户。首先,你需要以admin用户登录,username = admin,password = admin。
然后,点击用户图标 > users > (+) new user 来创建一个新用户,如下图所示。
添加新用户
现在,我们将创建一个开箱可用的仓库。点击 repositories > (+) new repository。然后,如下图所示添加新的仓库。
添加新的仓库
使用命令行创建一个新的仓库
touch READMEmd git init git add READMEmd git commit -m "first commit" git remote add origin ssh://arunlinoxide@localhost:29418/linoxidecomgit git push -u origin master
请将其中的用户名arunlinoxide替换为你添加的用户名。
在命令行中push一个已存在的仓库
git remote add origin ssh://arunlinoxide@localhost:29418/linoxidecomgit git push -u origin master
注意:强烈建议所有人修改用户名“admin”的密码。
结论
欢呼吧!我们已经在Linux电脑中安装好了最新版本的Gitblit。接下来我们便可以在我们的大小项目中享受这样一个优美的版本控制系统。有了Gitblit,版本控制便再容易不过了。它有易于学习、轻量级、高性能的特点。因此,如果你有任何的问题、建议和反馈,请在留言处留言。
一、使用oneinStack安装lamp环境
二、安装gitlab
三、修改gitlab配置
四、配置nginx
把gitlab之前生成的httpconf复制到nginx的config目录下面的所有文件拷贝到nginx配置目录(可以把之前的nginxconf备份一个以免不时之需)
五、防火墙配置端口
其他设置、待验证
邮件配置
汉化
Git是一款开源分布式版本控制系统,能够帮助Linux管理内核开发,那么Linux要如何使用Git,下面就是Linux使用Git的方法:
初始化git仓库,使用git init命令
添加文件到git仓库分两步:
1、使用git add filename ;可分多次使用,添加多个文件到暂存区
2、使用git commit -m “说明” ;完成提交到分支
查看工作区状态,使用git status 命令;如果提示有修改可使用git diff filename 查看修改内容
HEAD指向当前版本,HEAD^表示上一个版本,HEAD^^上上一个版本……HEAD~100指向之前第100个版本。
回退版本:使用git log查看提交历史;使用git log --pretty=oneline 精简显示
使用git reset --hard commit_id 回退到版本号为commit_id的版本
回退版本之后如果想再看改回来,可以使用git reflog 查看历史命令,找出想改回的版本号,再使用git reset hard commit_id 返回即可。
注意:git跟踪并管理的是修改,而不是文件,如果一个文件修改并add之后,再次修改,如果不再次add就提交的话,只会提交第一次的修改。
撤销修改:
1、如果文件还在工作区,即没有add也没有commit,则使用git checkout -- filename 还原到服务器版即可;
2、如果已经add到暂存区,首先使用git reset HEAD filename从暂存区取回工作区,再按照1进行操作即可;
3、如果已经提交到版本库,则按照版本回退的方式进行修改即可;
4、如果已经push到远程仓库,就麻烦了
删除使用以下命令:
1、git rm filename 从工作区删除
2、git commit -m ”说明“ 更新分支中文件进行删除
将在工作区的文件删除之后,可以使用git checkout -- filename 从分支中取回,但是只能恢复文件到最新版本,最后一次提交之后的修改则不能恢复。
分支:
1、创建分支
git checkout -b branchname 创建并切换到改分区,相当于一下两个命令:
git branch branchname 创建分支
git checkout branchname 切换到分区
2、查看当前指向的分支:git branch 会列出所有分支,当前指向的分支之前多了个
3、切换分支就是git checkout branchname
4、合并分支:git merge branchname 合并branchname到当前分支
5、删除分支:git branch -d branchname 删除branchname分支
注意:创建、合并、删除分支都非常快,git鼓励使用分支完成某个任务,合并后删除分支,和直接在master分支上进行工作是一样的效果,但是过程更加安全; 这些之所以快是因为在这些过程中我们只是修改了指向分支的指针,如创建一个branch就是创建了一个指向分支的指针,然后修改HEAD指向该指针;即HEAD指向分支,分支就是提交。
冲突解决:
git无法自动合并分支时,就必须首先解决冲突;解决冲突之后,再提交,即完成了合并
使用git log --graph 可以查看分支合并图。
保存工作现场 git stash 保存之后就可以进行其他工作 而不影响上次的修改
恢复工作现场:
1、git stash apply 恢复时并不删除stash中内容
2、git stash pop 恢复时会删除stash中的内容
远程库信息产看使用git remote (-v)加上-v显示信息更加详细
分支推送到远程库:即将所有本地的提交推送到远程库
git push origin(远程库名) master (要推送的分支)
抓取分支:git pull ; git clone
协作模式:
1、使用git push origin branchname 推送自己的修改
2、如果推送失败,因为远程分支比本地更新,先使用git pull 合并
3、如果合并有冲突,解决冲突,在本地提交
4、再推送
注意:如果使用git pull 合并时提示 ”no tracking information“说明本地分支没有和远程分支建立链接关系,使用以下指令建立关系:git branch --set -upstream branch origin/branchname
在本地创建与远程对应的分支:git branch -b branchname origin/branchname 本地与远程分支的名称最好一致
创建标签
1、打标签git tag name 默认标签打在最新提交的commit上,如果想打在其他版本上,找到commit_id即可
2、显示标签:git log -pretty=oneline --abbrev -commit
git tag tag_name commit_id
3、查看标签:git tag 显示所有标签
4、查看标签信息:git show tag_name
5、创建带有说明的标签: git tag -a tag_name -m ”信息“;-a表示标签名,-m指定说明文字
操作标签:git tag -d tag_name 删除标签
推送标签到远程库:git push origin tag_name
一次推送所有标签到远程库:git push origin --tag
上面就是Linux使用Git的方法了。
0条评论