关于Git linux

本文详细介绍了在Linux环境下使用Git的原理和操作流程,包括Git的基本概念、服务器搭建、仓库使用方法以及如何进行分支管理和版本控制。通过实例演示,帮助读者掌握Git的核心功能,实现高效版本管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在linux下使用Git很方便。有很多关于Git的教程,在这把自己对Git的理解记录下来。

一、Git原理

Git主要的原理,个人理解就是镜像备份,如下图(Git Data Flow And Commands)所示主要分为三个部分,工作区(Working directory)、本地版本库(Local repository)、远程版本库(Remote repostitory ,git服务器上的版本),一般的数据流为:工作区->本地版本库->远程版本库。

在本地版本库时(Local repository),可以创建多个分支,默认创建了一个本地Master分支。在没有创建其他分支的时候,可以认为本地Master分支就是本地版本库时(Local repository)。

其数据交互和相关的命令如下图所示:

Git Data Flow And Commands

二、Git服务器搭建

首先在服务器Server上创建一个名为git的用户 。

$sudo adduser git  

$sudo passwd git

我们配置用户A使用git这个用户免认证登录服务器Server

1、使用 authorized_keys 方法来给用户授权

如以下步骤:

  •     生成公钥和私钥
  •     导入公钥到认证文件,更改权限

在用户A主机上生成公钥、私钥:

$ssh-keygen -t rsa

默认在 ~/.ssh目录生成两个文件:

id_rsa      :私钥

id_rsa.pub  :公钥

把公钥复制到服务器Server上:

$scp ~/.ssh/id_rsa.pub xxx@host:~ 

然后,将公钥导入到认证文件尾

$cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

修改文件权限:

$ chmod 700 ~/.ssh

$ chmod 600 ~/.ssh/authorized_keys  

2、在服务器Server用--bare选项新建一个裸仓库

$cd

$mkdir project.git

$cd project.git

$git --bare init

这时,用户就可以把它加为远程仓库,推送一个分支,从而把第一个版本的项目文件上传到仓库里了。

如在用户A主机上:

$ cd myproject
$ git init
$ git add .
$ git commit -m 'initial commit'
$ git remote add origin git@gitserver:~/project.git
$ git push origin master

3、限制 git 用户的活动范围

git 用户登入的 shell设置git-shell

$ sudo vim /etc/passwd

在文件末尾,git用户的一行,修改为:

git:x:531:531::/home/git:/usr/bin/git-shell

现在 git 用户只能用 SSH 连接来推送和获取 Git 仓库,而不能直接使用主机 shell。

 

三、git仓库的使用

主要的操作:

$cd project

$git init

$git status

$git add .

$git commit -m "Version 1.0"

$ git remote add origin git@gitserver:~/project.git
$ git push origin master

到这一步,会推送一个分支到远程版本库(Remote repostitory )。

在开发的时候,建议再创建一个分支 dev分支。这dev分支上做开发,然后合并到本地master分支,再推到远程版本库。先查看一下目前有的分支 。

$cd project

$git branch

*master

创建dev分支:

$git branch dev

$git branch

切换到dev分支:

$git checkout dev


开发....


在dev分支下,提交当前工作

$git status

$git add .

$git commit -m "Version 2.0 "

然后合并分支,先切换到master分支下:

$git  checkout master

合并dev分支:

$git merge dev

 

在以上使用中,通过 git status、 gitk(GUI程序) 、Qgit等配合使用 。

下面是使用gitk查看git:

参考:

1、http://git-scm.com/book/en/v2

2、http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013745374151782eb658c5a5ca454eaa451661275886c6000

3、http://www.cnblogs.com/tankaixiong/p/4172942.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值