国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > 综合技术 > Git学习总结(5)——搭建Git简易高效服务器

Git学习总结(5)——搭建Git简易高效服务器

来源:程序员人生   发布时间:2016-06-20 16:46:31 阅读次数:3035次

1. mysysgit+gitblit安装流程

1.1资源 
需先下载好的资源(公司用的1.6,1.7+请自行匹配对应的mysysgit+gitblit): 
jdk1.6 
Git⑴.8.4-preview20130916.exe 
gitblit⑴.2.1.rar 
1.2安装 
1.2.1 Git Bash安装 
1)双击弹出安装页面 
这里写图片描述 
2)点击2次next,进入路径选择,添加自定义的路径便可; 
这里写图片描述 
3)点击next,进入 选择组件, 
这里写图片描述 
4)点击2次next 进,选择运行环境,选择 “run Git from the Windows Command Prompt”; 
这里写图片描述 
5)点击next,选择”Checkout as-is,commit Unix-style line endings”; 
这里写图片描述 
6)点击next,进入安装进度页面,等待安装完成; 
这里写图片描述 
7)点击”Finish”,安装完成,桌面、开始菜单、和右键菜单都出现程序,很方便。 
这里写图片描述 
补充: 
1.启动便可使用,不需要配置环境变量; 
2.在要使用的文件夹内右键选择 Git Bash Here,可以直接进入该目录下的命令行,不用自己在命令行下面切换路径,是否是很方便呢。例如:D:\hjj-repo下右键 
这里写图片描述
10)测试 
在弹出的命令行内输入”git version”,出现以下内容即为安装成功; 
这里写图片描述

1.2.2Gitblit安装

1)直接解压,目录自选; 
2)配置gitblit.properties; 
a. 路径:gitblit目录/data/gitblit.properties,“记事本”打开; 
b. 找到server.httpPort,设定http协议的端口号(如:7070) 
server.httpsPort,设定https协议的端口号(如:7071) 
这里写图片描述 
c. 找到server.httpBindInterface和server.httpsBindInterface,设定服务器的IP地址为空,方便其他人访问; 
这里写图片描述 
d.保存,并退出。 
3)测试 
运行gitblit目录下的gitblit.cmd 批处理文件; 
运行结果以下,运行成功。 
这里写图片描述 
这里写图片描述 
2. Gitblit 的web操作 
2.1管理员服务器首次登陆 
在阅读器中打开url:http://127.0.0.1:7070(端口是自己配置的端口),在右上角输入admin/admin登陆;–请记得修改密码(admin)的 
这里写图片描述
这里写图片描述
2.2创建仓库 
这里写图片描述 
1)选择new repository,进入新建仓库,”general”选项卡以下: 
这里写图片描述 
access permissions”选项卡以下: 
这里写图片描述 
2)”save”保存; 
3)同上,创建repository-02,完成后如图; 
这里写图片描述

2.3创建用户

导航条选择”users”–选择”new user”,进入创建用户界面; 
这里写图片描述 
这里写图片描述
1)创建用户A,”general”选项卡如图: 
这里写图片描述 
access permissions”选项卡如图:1表示赋予的仓库,2表示在该仓库能够进行的操作; 
这里写图片描述
2)点击”save”保存并退出; 
3)同理创建用户 user-B,赋予权限clone/push 仓库2; 
4)同理创建用户 user-C赋予权限clone/push 仓库1和2;

3.本地操作

3.1克隆服务器的仓库

1)首先新建1个操作的文件夹,如:”hjj-repo”; 
2) 菜单选择”Git Bash Here”,在弹出的命令行窗口,输入: 
创建全局的用户名: 
git config – -global user.name “name”; 
这里写图片描述 
git clone http://服务主机IP:端口/git/仓库名.git,例如: 
git clone http://10.10.10.10:7070/git/repository-01.git 
会提示输入用户名和密码,输入便可; 
如图; 
这里写图片描述 
建议不要用admin,用admin创建1个高权限的用户作为仓库的管理员; 
在本地文件夹中会出现clone下来的仓库,如图: 
这里写图片描述 
这里写图片描述 
cd 到repository目录下,和.git平级,开始操作。实际上是创建了1个和远程仓库对应的本地仓库。为了操作方便,我们给远程仓库起1个别名,1般为”origin”, 
命令为:git remote add origin http://xx.xx.xx.xx:7070/git/repository-01.git 
不起也是可以,每次输入完全的地址url; 
默许的也能够,默许为”origin”;

3.2本地操作

1)本地的基本操作: 
a.增加文件 
例如,我增加两个文件 “tables.txt”和”中文-表格.txt” 
查看我的本地仓库状态,入命令:git status 
这里写图片描述 
提示仓库内多出了2个文件,可以用”add”来跟踪; 
b.add把文件纳入跟踪 
输入命令:git add tables.txt 和 git add中文-表格.txt 
并且查看状态为: 
这里写图片描述 
显示为有2个文件纳入了暂存区,需要commit到我们的分支上; 
c.commit提交到分支上,输入命令:git commit –m “注释的内容”。 
1定要加上注释的内容才能提交成功,它会显示在每次的操作中和日志中; 
这里写图片描述 
出现如箭头所指的,说明暂存区的内容已全部提交完成了。 
多个文件、删除操作等,可以用命令 git add –all 
用ULtraEdit/editPlus等编辑器编辑完的文件的.bak文件请及时删除,不要提交; 
这里写图片描述 
补充: 
1)撤消修改–修改后,还没有放到暂存区: 
在我未提交之前,我发现添加文档内容有误,所以我得马上恢复之前的版本,现在我可以有以下几种方法可以做修改: 
第1:如果我知道要删掉那些内容的话,直接手动更改去掉那些需要的文件,然后add添加到暂存区,最后commit掉。 
第2:我可以按之前的方法直接恢复到上1个版本。使用 git reset –hard HEAD^。 
第3:git checkout –- 文件名 
2)撤消修改—已在暂存区了,又做了修改: 
git checkout –文件名 该命令会使文件回到放入暂存区以后的状态; 
这里写图片描述 
d.提交完成即完本钱地的仓库的分支的工作,可以推送(push)到远程的仓库了。但是就如我们正常使用SVN1样,我们的提交可能和其他人冲突,所以正确的操作规范是: 
1)先查看远程的仓库的状态;命令为:git remote show 远程仓库名 
这里写图片描述 
可以查看是不是有人推送及更新情况; 
2)拉取远程仓库,命令:git pull 仓库名 
如果是第1次推送,1定要pull; 
这里写图片描述 
up-to-date表示本地现有内容和你上次提交的并没有差异; 
此处有2种情况: 
1)本地的修改和远程的修改不冲突; 
pull会自动合并(merge)远程的修改和本地的修改,git status 也会显示没有修改; 
2)本地的修改和远程的修改冲突(比如恰好在同1行或同1块); 
程序会自动合并(merge),删除那1行原本的,修改成你修改的。所以要在web端做好比较再pull。 
3) 推送到远程仓库,命令:git push仓库名 分支名 
如果是第1次推送,需要输入git push -u仓库名 分支名 
这里写图片描述 
4)查看 
命令查看:git remote show 仓库名; 
web查看:http:// xxxx:7070(推荐web查看,更详细) 
这里写图片描述
注释1:路径; 
注释2:commit的注释; 
注释3:提交的文件的内容; 
注:此处可以直接在页面标题下下载”.ZIP”或”.gz”包;

4.平常保护

推荐2个方案: 
方案1:集中式管理。 
设立1⑵个管理员,组员仅view权限。管理员负责服务器仓库的搭建和分支管理,其余的组员提交给管理员审核,再由管理员添加到master;1个文档夹建立1个仓库,每一个仓库添加可以预览的人员便可实现简单但高效的权限管理。 
此方案合适文档管理等,便于保护; 
方案2:散布式管理。 
设立1⑵个管理员,组员有pull/push权限。由管理员创建代码分支,并管理。由组员在pull/fork分支,并修改和提交到该分支,经管理员审核同意后,管理员合并到主分支上。典型的散布式协作管理;每步的操作都会在服务器上有详实的记录。

5. Git基本经常使用命令以下:

mkdir: XX (创建1个空目录 XX指目录名) 
pwd: 显示当前目录的路径。 
git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。 
git add XX 把xx文件添加到暂存区去。 
git commit –m “XX” 提交文件 –m 后面的是注释。 
git status 查看仓库状态 
git diff XX 查看XX文件修改了那些内容 
git log 查看历史记录 
git reset –hard HEAD^ 或 git reset –hard HEAD~ 回退到上1个版本 
(如果想回退到100个版本,使用git reset –hard HEAD~100 ) 
cat XX 查看XX文件内容 
git reflog 查看历史记录的版本号id 
git checkout — XX 把XX文件在工作区的修改全部撤消。 
git rm XX 删除XX文件 
git remote add origin https://github.com/tugenhua0707/testgit 关联1个远程库 
git push –u(第1次要用-u 以后不需要) origin master 把当前master分支推送到远程库 
git clone https://github.com/tugenhua0707/testgit 从远程库中克隆 
git checkout –b dev 创建dev分支 并切换到dev分支上 
git branch 查看当前所有的分支 
git checkout master 切换回master分支 
git merge dev 在当前的分支上合并dev分支 
git branch –d dev 删除dev分支 
git branch name 创建分支 
git stash 把当前的工作隐藏起来 等以后恢复现场后继续工作 
git stash list 查看所有被隐藏的文件列表 
git stash apply 恢复被隐藏的文件,但是内容不删除 
git stash drop 删除文件 
git stash pop 恢复文件的同时 也删除文件 
git remote 查看远程库的信息 
git remote –v 查看远程库的详细信息 
git push origin master Git会把master分支推送到远程库对应的远程分支上

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生