Centos7搭建Git及安装使用

Centos7搭建Git及安装使用

  • sa 发布于 2018-03-09
  • 分类:未分类
  • 阅读(9139)
  • 评论(0)

文章目录

[隐藏]

一、Centos7.2 下 Git的安装

1、查看是否安装了git

rpm -qa|grep git

若已经安装,需要先卸载。卸载命令如下:

rpm -e --nodeps git  或者  rpm -e git

2、安装Git

yum install git

输入y,并回车

再使用 rpm -qa|grep git 来查看是否已经安装好了Git。

3、创建Git仓库

mkdir six_git        // 创建文件夹
useradd six             //创建用户名并设置密码
passwd six            //(系统会提示输入密码和再次密码)
groupadd git        // 创建组
git init --bare        //进入所创建的文件夹,初始化一个仓库
chown -R six:git /var/www/six_git/        // 赋权限

二、windows7 下连接Git版本库

1、安装Git 和 TortoiseGit(小乌龟)

2、在本地创建文件夹

>在windows7中某个盘符下创建一个名为“six” 的文件夹,这个文件夹就是我们与远程仓库通讯的文件夹。

3、进入“six”文件夹,右击菜单设置本机用户名和email

为了直观分辨不同用户为版本开发的贡献,需要设定用户名和email 下面分别是中文版和英文版的 TortoiseGit

4、Clone版本库(克隆)

在要克隆版本库的文件夹中点击右键,点击“Git克隆”菜单,根据图中信息填写后,点击确定,输入当时创建“six”账户是设置的密码即可。

输入创建“six”用户时,设置的密码。 英文版本:

填写好后,点击“ok”按钮,并要求输入密码。

5、添加文件

在clone库的文件夹中添加一个测试文件,并在空白处点击邮右键,选择“TortoiseGit”-à “添加”

勾选未受版本控制的文件,也就是刚刚创建的测试文件,点击确定按钮。

添加完成后,弹出“加入完成”对话框,点击确定即可

再在该文件夹空白出点击右键,点击“Git提交(C)->”master”…”

在对话框中填写相关的说明信息并选择文件,点击提交即可。

6、更新版本库

更新版本库前应该改先从服务器上“拉取”一下,再把自己修改的内容“推送”到服务器上.

三、建立发布版本库

1、在centos中建立发布版本库,然后进入文件夹。

2、更新版本库,进入版本目录,执行“git pull”命令

3、 禁止shell登陆

出于安全考虑,git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。 找到类似下面的一行:

six:x:502:502::/home/six:/bin/bash
改为
six:x:502:502::/home/six:/usr/local/git/bin/git-shell
或者
six:x:502:502::/home/six:/usr/bin/git-shell
six:x:502:502::/home/six:/bin/false

git用户可以正常通过ssh使用git,但无法登录shell,因为我们为git用户指定的git-shell每次一登录就自动退出。

四、错误

在 windows文件夹 下 bash命令中输入:

git fetch --all
git reset --hard origin/master

Git的bash操作:

进入git bash,我这个windows下个git已经安装配置完成了,所以直接clone,192.168.153.129为我centos7的ip
git clone git@192.168.153.129:/srv/git/project.git
输入git的密码
进入project.git
cd project.git
创建一个测试文件
vim test.txt
随便写一些内容
查看状态
git status      看到有一个待添加的文件texs.txt了
添加test.txt让git追踪
git add test.txt
提交到版本库,并写上备注信息
git commit test.txt -m ‘just a test’
把他推送到服务器的版本库中去
git push origin master
git client
git commit

已经推送到服务器端区了。。。接下来去服务器端看看有木有

刚才俺们在服务器端创建版本库时用的是 git init –bare project.git 加了个–bare就是创建一个裸仓库,没有工作区哒,所以这里只记录了文件的改动,要看是不是同步过来了,需要在git clone一次,看是不是这一次有test.txt啦

git clone git@127.0.0.1:/srv/git/project.git,输入密码后,开始下载代码了,果然master分支已经有test.txt啦. git log查看一下提交记录,在mon feb 2 09:47:46 2015 +0800的这个,邮件为xxx的作者xxx提交哒。因为windows客户端配置的git是偶滴工作邮件和姓名,就打码了,ok,私有git搭建完成。

git的删除操作

rm test.txt
git status
$ git rm test.txt
rm 'test.txt'
git add -u
$ git commit -m "remove test.txt"
git push

现在,文件就从版本库中被删除了。

另一种情况是删错了,因为版本库里还有呢,所以可以很轻松地把误删的文件恢复到最新版本:

$ git checkout -- test.txt

git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。

小结

命令git rm用于删除一个文件。如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

原文出处:phpsix -> https://www.phpsix.com/word/gGW9Vxm0.html

(adsbygoogle = window.adsbygoogle || []).push({});

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

字节跳动开源分布式训练框架BytePS,登上GitHub热榜

字节跳动开源了通用分布式训练框架BytePS,支持TensorFlow、Keras、PyTorch、MXNet,可以运行在TCP或RDMA网络中,大大优于现有的...

15220
来自专栏机器学习算法与Python学习

玩转 GitHub 更新Fork

经常遇到的是Fork一个项目之后,源项目的作者做了新的更改,如果没有同步到我自己的Fork,我所做的更新进行Pull Request后,会产生冲突;因此在更新文...

15110
来自专栏机器学习算法与Python学习

牛逼!深度学习又添新框架,来自Facebook 【Pythia】

GitHub:https://github.com/facebookresearch/pythia

14510
来自专栏Java程序猿部落

Git远程协作和分支

这里先演示环境搭建,也就是和github上一个仓库远程关联起来,这里遇到了一些坑,记录一下:

9330
来自专栏JAVA知识总结与分享

装饰者模式

动态地将责任附加到对象上,若要拓展功能,装饰者提供了比继承更有弹性的替代方案对于设计模式。

9140
来自专栏JAVA知识总结与分享

Git的诞生和高并发的演变

Linus Torvalds,是一个传奇式的人物,他给出了Linux的原型,并一直积极推广Linux。1991年,在网络上发布了源码,从此之后,Lin...

10030
来自专栏软测小生

Jenkins可用环境变量以及使用方法

在这之前,没有自己配置过Jenkins,都是照猫画虎,Copy原来已经配好的项目过来修修改改,一直想不明白比如BUILD_NUMBER之类的东西是哪来的(其实是...

27230
来自专栏Python数据科学

GitHub 4.6 万星:Windows Terminal 预览版开放下载!

微软Build大会上官宣的新款Windows Terminal,终于放出预览版供下载了!

14620
来自专栏机器学习算法与Python学习

入门 | 简单实用的DL优化技巧

本文介绍了几个深度学习模型的简单优化技巧,包括迁移学习、dropout、学习率调整等,并展示了如何用 Keras 实现。

9030
来自专栏机器学习算法与Python学习

给程序加个进度条 | Python

对于开发或者运维来说,使用 Python 去完成一些跑批任务,或者做一些监控事件是非常正常的情况。那么如何有效地监控任务的进度?除了在任务中加上 Log 外,还...

21830

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励