分布式管理工具git

git 基本概念

代码仓库: 在这里插入图片描述

git原理

git 基本原理

片描述
workspace 工作区域,本地存放项目代码的区域
Index/Stage 暂存区, 用于临时存放代码,实际上它是一个文件,保存即将提交到文件列表信息
Repostory 仓库区(版本库), 就是安全存放数据的位置,这里面有你提交到所有版本的数据,其中HEAD指向最新放入版本库的版本。
Remote 远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

git 的工作流程

  1. 在工作目录中添加,修改文件;
  2. 将需要进行版本管理的文件添加到(add)暂存区;
  3. 将暂存区域的文件commit 到git 仓库;
  4. 本地的修改push到remote仓库,如果失败执行第五步;
  5. git pull将远程仓库的修改拉取到本地,如果有冲突需要修改冲突。回到第三步;
    因此git管理的文件有三种状态:·已修改(modfied),已暂存(staged),已提交(committed)·;

git 中文件四种状态

在这里插入图片描述
Untracked: 未跟踪,此文件在文件夹中但并没有加入到git库,不参与版本控制,通过git add 状态变为Staged.
Unmodified: 文件已经入库,但是并未修改。即版本库中的文件快照内容与文件夹中完全一致,这种状态的文件有两种去处。如果它被修改而变为Modidied.如果使用git rm 移除版本库,则成为Untracked文件。
Modified 文件已修改,仅仅是修改并没有进行其它的操作,这个文件也有两个去处, 通过git add 可进入暂存装填(staged),使用git checkout 则丢弃修改,返回到Unmodified状态。这个git checkout 即从库中取出文件,覆盖当前修改。
Staged 暂存装填,执行git commit 则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Umodified状态。

github 服务端

github 服务器的地址 :http://github.com
想使用github,第一步肯定是要注册github账号,如果有了账户直接登入就可以。

创建登入账户

在这里插入图片描述

在这里插入图片描述

创建工程

在这里插入图片描述

git 客户端配置

github是服务端,要在自己电脑上使用git我们还需要一个git客户端

windows用户下载链接:git 客户端网站
mac用户下载链接:mac客户端

一路next下来,安装成功,在任何文件夹下鼠标点击右键出现菜单中有 Git GUI here 、 Git Bash here说明安装成功。
在这里插入图片描述

windows客户端环境搭建

1.查看配置信息 git config list

设置user.name和user.email配置信息
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"

2.生成私钥
ssh-keygen -t rsa -C "github登入邮箱地址"

在C:\Users\admin.ssh文件夹中找到id_rsa.pub,将里面所有的内容全部复制出来。

3.在这个网址https://github.com/settings/keys点New SSH key
Title随便输入,Key粘贴刚才复制的key,然后点击Add SSH key

安装遇到的问题

$ git push origin master
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

解决方案:
git remote add origin git@github.com:xxxx.git

如何构建本地代码仓库

1.创建一个目录 mkdir dpdk_test
2.进入这个目录 cd dpdk_test
3. 初始一个为普通仓库 git init ,会在文件夹内生成一个隐藏的文件夹".git"
4. 有了仓库后,可以使用git add和git commit 向仓库添加要追踪的文件和提交文件。

命令总结

本地代码仓库操作

仓库中文件默认是不被git 追踪管理。
查看状态 git status

  1. 添加 git add 是把文件添加到暂存区
    通过git add 的方式把path目录下的所有文件添加到git的暂存区,当然这些文件不包含已经被删除的文件。
    示例:
$ git add .  # 将所有修改添加到暂存区
$ git add *.cpp   # 将以.cpp结尾的文件的所有修改添加到暂存区
$ git add hello*   # 将所有以Hello开头的文件的修改添加到暂存区,例如: helloWorld.txt,hello.h,helloGit.md ...
$ git add hello?.*   # 将以hello开头后面只有一位的文件提交到暂存区 例如:hello1.txt,helloA.cpp 如果是helloGit.txt和hello.cxx是不会被添加的
  1. 移除文件
    git rm -f 或者 git rm –cached 把文件从暂存区里移除,这里移除并不代码把文件从磁盘上删除了,而是取消git对文件的管理。

  2. 提交到代码仓库
    命令: git commit命令提交到仓库,实现真正的对文件的管理
    git commit 用法
    在这里插入图片描述
    示例:
    git commit -a -m “initial commit”, #把暂存区和当前已被跟踪的文件的所有的修改提交到仓库里,-m参数指定了此次提交的message内容
    git commit Makefile Logger.cpp –m “修改编译错误,添加了对log4cpp库的依赖“ # 提交Makefile和Logger.cpp的修改

创建git 远程服务器

一:创建git账号和git用户组

$ sudo adduser git  #添加git用户
 $ sudo passwd git   #添加git的密码
 $ sudo groupadd git #添加git用户组
 $ sudo usermod -G git git #添加git用户到git用户组

二、创建git仓库

$ cd /srv     # srv目录下存放git的仓库
 $ mkdir nginx-docs.git # 创建nginx-docs.git目录
 $ cd nginx-docs.git
 $ git init --bare # bare选项指示该仓库为裸仓库
 $ sudo chown -R git:git /srv/nginx-docs.git # 修改权限为git用户

三、禁止git用户登录shell,这样git通过sh服务登录会被拒绝

在这里插入图片描述
四、克隆远程仓库
在文件内部右击选择Bash shell
输入 git clone git@47.106.79.26:/srv/nginx-docs.git
这个过程中需要输入用户名和密码,我们可以通过rsa认证的方式省略掉密码的输入
五、免密输入的配置
就是通过rsa认证,生成公钥和私钥,然后把客户端的公钥告诉git服务器,具体步骤如下:
在客户端机器上,比如我在windows机器上已经配置用户名和密码,打开git bash shell,生成rsa的秘钥对,ssh-keygen –t rsa “github注册邮箱”命令后一路按回车,此时会在c:/Users/lizhiyong/.ssh/目录下生成id_rsa.pub和id_rsa文件,id_rsa.pub是公钥文件,id_rsa是私钥文件

六、 服务器端
在git服务器上:
$ su git
$ ssh-keygen –t rsa
$ touch authorized_keys
然后把客户端的id_rsa.pub追加到这个文件里。这样后,我们就不需要每次都输入git密码了。

代码下载

即clone命令为:  git clone git@<您的 CVM IP 地址>:git仓库路径 
例如   git clone git@47.106.79.26:/srv/nginx-docs.git

下载指定branch 下的代码
git clone -b 分支名 https://gihub.com/*******/****.git

代码提交

代码调整

参考

https://blog.csdn.net/zeng092210/article/details/95622318

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值