最全 内网 gitblit git

GitBlit与Git使用说明

一、简述

由于项目在内网开发且团队规模适中,gitlab与github都要monkey,所以排除!

Gitblit是使用java语言开发的一个git管理工具,其后台使用的是servlet配置作为网页服务器,引用一句话:Gitblit 是一个纯 Java 库用来管理、查看和处理 Git 资料库.相当于 Git 的 Java 管理工具.git的管家; 免费、开源、小巧、搭建简单

二、Linux 安装与运行

2.1 下载安装包

ps:百度下载,官网下载很慢,当前演示版本为: gitblit-1.8.0.tar.gz  提取码:riyb

2.2 创建目录

//在linux 根目录创建一个为 opt 的新目录
[root@bearcub /]# mkdir -p /opt/gitblit

2.3 解压

[root@bearcub gitblit]# tar -zxvf gitblit-1.6.2.tar.gz

2.4 配置

//配置访问端口号
[root@bearcub gitblit-1.8.0]# vim service-centos.sh 

在这里插入图片描述
在这里插入图片描述

//编辑 gitblit.sh文件
[root@bearcub gitblit-1.8.0]# vim gitblit.sh
//将内容替换为,不替换关闭窗口gitblit关闭,不会在后台运行
nohup java -jar gitblit.jar --baseFolder data &
    
ps:配置后可能无效,错误信息 端口一直显示被占用
需要进入  cd  /data   ls    ---> vim defaults.properties---->修改端口号

在这里插入图片描述
在这里插入图片描述

2.5 运行gitblit

//_前台启动
[root@bearcub gitblit-1.8.0]# ./gitblit.sh 

在这里插入图片描述

//_后台启动   
systemctl start gitblit
//查看运行状态
systemctl status gitblit    
//systemctl 命令可能不能使用   

在这里插入图片描述

//检查进程的命令 ps -ef|grep gitblit
//杀死进程 kill -9 进程号

在这里插入图片描述

2.6 访问

在浏览器输入http://ip:端口号    默认管理员账号  admin   密码  admin

在这里插入图片描述

2.7 删除gitblit仓库

---页面上可视化删除
---停止gitblit  找到指定的仓库名.git 删除
---重启gitblit    

三、gitblit 常用操作

前言: 以下操作均在 admin账户,仓库设置的权限优先级最高,会覆盖其它权限设置

3.1 创建/管理用户

用户的创建、权限分配、密码修改

在这里插入图片描述

3.2 创建/管理团队

创建/删除-团队

团队的创建、权限分配、删除

在这里插入图片描述

3.3 创建/管理仓库

①创建仓库

在这里插入图片描述

②仓库权限-用户

仓库权限之 添加/删除 指定用户访问 
ps:就近原则  您可以设置私有用户权限。 此设置会覆盖团队权限以及regex权限。

在这里插入图片描述

③仓库权限-团队

仓库权限之 添加/删除 指定团队(所有团队成员)访问 
ps:就近原则  您可以设置私有团队权限。 此设置会覆盖regex权限。

在这里插入图片描述

四、git环境搭建

4.1 下载并安装git

下载

演示版本是 Git-2.9.3.2-64-bit.exe

安装

一路next,直到install,安装后测试是否安装成功 cmd--->git

在这里插入图片描述

4.2 初始化git仓库

前言:以下管理员操作即可,完毕后,团队成员克隆 (或者管理员克隆后将项目加入版本控制后提交到 git 仓库,通知其它 成员克隆)

​ _安装完成后,在项目所在文件夹鼠标右键有一个 “Git Bash Here”, 打开git 自带的命令行工具,
第一次使用git bash 一定要先配置一下用户信息,避免后面报错,也就是指定下用户用户名,邮箱
(后期也可以修改)

git config --global user.name "用户名"
git config --global user.email "邮箱"
git config --list   查看设置后的信息    

​ _通过命令 git init 把这个目录变成git可以管理的本地仓库

 git init

​ _把文件添加到版本库中,使用命令 git add . 将新增加的和修改的文件添加到暂存区里面去, 不要忘记后面的小数点“.”,意为添加文件夹下的所有文件;

git add .

​ _用命令 git commit告诉Git,把文件提交到仓库。引号内为提交说明
复制代码

git commit -m 'first commit'

​ _关联到远程库

git remote add origin 你的远程库地址

​ _推送至远程仓库

在这里插入图片描述

//这条指令的意思是把远程库中的更新合并到本地库中,
//-–rebase的作用是取消掉本地库中刚刚的commit,并把他们接到更新后的版本库之中。
git pull --rebase origin master     

_把本地库的内容推送到远程,使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。

//第一次使用 -u   origin 指定了你要 push 到哪个 remote。
git push -u origin master

4.3 仓库克隆

​ 管理员将仓库搭建完毕后,将仓库地址给团队成员,团队成员克隆到本地即可

git clone  仓库地址

五、集成IDE

5.1 配置git

选择 git 安装目录---->点击Test测试连接---->ok 集成成功

在这里插入图片描述

5.2 克隆git仓库

复制git仓库地址--->克隆--->选择存放本地仓库的位置--->点击clone即可

在这里插入图片描述

5.3更新与提交

在这里插入图片描述

六、冲突演示解决

6.1 冲突

预防针: 先更新后提交,能解决大部分冲突问题!

由于不好操作时间略长,不好录制,图片代替;

​ 出现冲突的场景: 小红和小白在本地修改了A文件,同时提交(几率小)或未更新后分别提交,此时会出现代码冲突
在这里插入图片描述
在这里插入图片描述

aaacccccccccc
aaabbbb
<<<<<<< 31730d46914809dd86a4d41509f48a5cbd8ae449
小白
=======
小红
>>>>>>> 小红未更新提交a.txt

/**************************代码冲突-解释****************************************/    
//远端仓库拉取下来的内容  : 小白
<<<<<<< 31730d46914809dd86a4d41509f48a5cbd8ae449
小白
=======    
    
//本地仓库暂存区中的内容: 小红
=======
小红
>>>>>>> 小红未更新提交a.txt   

//按需合并后提交
aaacccccccccc
aaabbbb
小白

6.2 提交异常及解决

​ _git push 时,错误提示:当前未在分支上,不能 pull 和 push !

在这里插入图片描述

​ _git branch : 查看分支
在这里插入图片描述

​ _创建/切换/合并分支

//创建分支
git branch temp bdcfe3d8  
//切换分支    
git checkout master
// 合并分支
git merge temp

在这里插入图片描述

git branch -d temp  : 删除分支

在这里插入图片描述

加入版本控制,提交至本地,再push

在这里插入图片描述
在这里插入图片描述

七、分支创建与版本回滚

7.1 分支的相关操作

   git branch     查看当前所有的分支
   git branch –r  查看远程所有分支
   git branch –a  查看本地远程分支
   git tag        查看版本打的Tag
   git checkout [name]     切换到name分支
   git branch –d [name]    删除name分支
   git push origin --delete [name]  删除远程分支
   git checkout –b [name]  创建name分支 并切换到name分支上

分支创建–合并–步骤

①从已有的分支创建新的分支(如从master分支),创建一个temp分支    
    git checkout –b temp
②建立本地到远端仓库的链接
	git push --set-upstream origin temp  //temp为创建分支的名字
③远程仓库已经创建了dev分支 下面也有代码上传了,可以使用如下命令
    git push origin 分支名 --force  
④分支合并(必须先先切换到主分支才能合并)    
    git merge temp

创建远程分支

在这里插入图片描述

分支合并

在这里插入图片描述

7.2 IDEA 分支操作

IDEA分支创建-切换-合并

在这里插入图片描述
在这里插入图片描述

7.3 版本回退

场景模拟: 分别模拟提交三个版本并对其进行回退操作~

__分别提交三个版本
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

 __git log 查看提交日志

在这里插入图片描述

​ __回退到上一个版本(回退到n个版本可使用 git reset --hard HEAD~N )

 git reset --hard HEAD~N

在这里插入图片描述

__回退到第三个版本(使用 git reflog 查看版本号再 git reset --hard HEAD 版本号)

git reflog 查看版本号
git reset --hard HEAD 版本号

在这里插入图片描述

7.4 IDEA 版本回退

方式一

在这里插入图片描述

方式二

在这里插入图片描述

八、Git的其他相关操作

8.1 重置远程链接

git remote set-url origin https://xxx@github.org/hello/etl.git

8.2 查看远程仓库地址

git remote -v

8.3 fatal: remote origin already exists

fatal: remote origin already exists —当前电脑已存在本地仓库,上传的仓库与本地仓库不一样,发生了冲突,解决删除之前的git仓库

​ 8.3.1 先删除远程 Git 仓库

git remote rm origin

8.3.2 再添加远程 Git 仓库

git remote add origin 远程仓库地址 	

8.3.1 push

git push -u origin master

​ 8.3.3 如果报403错误,执行以下代码

//git清除用户名密码  不建议使用
git config --system --unset credential.helper

​ 8.3.4 强制覆盖分支

git push -u origin master -f 

8.4 生成ssh秘钥

ssh-keygen -t rsa -C “邮箱”

在这里插入图片描述

8.5 Can’t Update: no tracked branch

//新建的分支--关联远程分支
git branch --set-upstream master origin/master

8.6 error: failed to push some refs to 'xxx(远程库)'

原因:本地与远程仓库不一致(可能创建远程仓库是勾选了readme.md,本地仓库没有)
1.git pull --rebase origin master
2.git push -u origin master

8.7 Git 本地分支与远程分支关联(git branch --set-upstream-to=origin/<branch> lcn )

/**git 本地新建一个分支后,必须要做远程分支关联。如果没有关联, git 会在下面的操作中提示你显示的添加关联。
【关联目的】是如果在本地分支下操作: git pull , git push ,不需要指定在命令行指定远程的分支. 推送到远程分支后,
你只要没有显示指定,git pull 的时候,就会提示你上述问题。**/
// origin/分支名称  远程仓库别名/分支名
解决: git branch --set-upstream-to=origin/分支名称

8.8 No remote repository specified

fatal: No remote repository specified.  Please, specify either a URL or a
remote name from which new revisions should be fetched.
//可能没有url和pushurl的配置,需要添加    

在这里插入图片描述

在这里插入图片描述

[core]  
        repositoryformatversion = 0  
        filemode = true  
        bare = false  
        logallrefupdates = true  
        ignorecase = true  
        precomposeunicode = false  
[remote "origin"]  
        url = http://admin@47.xxx.139.243:8090/r/test.git 
        pushurl = http://admin@47.xxx.139.243:8090/r/test.git 

8.9 git常用命令

   //创建分支并推送到远端
   git checkout -b 分支名称
   git push origin 分支名称        将创建的本地分支推送至远程
   git branch --set-upstream-to=origin/分支名称  
       
   //其他命令    
   git branch     查看当前所有的分支
   git branch –r  查看远程所有分支
   git branch –a  查看本地远程分支
   git tag        查看版本打的Tag
   git checkout [name]     切换到name分支
   git branch –d [name]    删除name分支
   git push origin --delete [name]  删除远程分支
   git checkout –b [name]  创建name分支 并切换到name分支上

   //初始化操作    
   git init       把当前的目录变成可以管理的git仓库,生成隐藏.git文件。
   git add XX     把xx文件添加到暂存区去。
   git add –A    (git add --all的缩写)
   git add .      监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区
   git remote add origin 仓库地址   (关联一个远程库)
   git push –u(第一次要用-u 以后不需要) origin master (把当前master分支推送到远程库)
   

   git clone        仓库地址  (从远程库中克隆)
   git status       查看仓库状态
   git diff  XX     查看XX文件修改了那些内容
   git reflog       查看历史记录的版本号id
   git merge dev    在当前的分支上合并dev分支
   git remote       查看远程库的信息
   git remote –v    查看远程库的详细信息
   git stash        把当前的工作隐藏起来 等以后恢复现场后继续工作
   git stash list   查看所有被隐藏的文件列表
   git push origin master  Git会把master分支推送到远程库对应的远程分支上
   git reset  –hard HEAD^ 或者 git reset  –hard HEAD~ 回退到上一个版本
                        (如果想回退到100个版本,使用git reset –hard HEAD~100 )


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值