Git 使用技巧
文章目录
- Git 使用技巧
- 前言
- 一、Git 安装
- 二、搭建服务端仓库
- 三、搭建客户端
- 1. git 通信
- 2. git支持的通信协议
- 本地拉取代码
- 3. 配置用户名和密码
- 查看配置
- 查看git 帮助
- Git 工作流程
- 总结
- 参考
前言
Git 是一个开源的分布式代码版本控制系统,用于敏捷高效地处理任何或小或大的项目。
一、Git 安装
Git 安装分为两种:
linux 系统:
Centos 或者fedora 直接使用命令进行默认安装(建议 安装方便)或者通过源码安装。
sudo yum install git
ubuntu 系统安装。
sudo apt-get install git
验证是否安装成功:
git --version
windos系统:
在git 官网下载app进行安装Git 官网
二、搭建服务端仓库
在linux 系统搭建git 仓库服务端。
为了安全搭建空的仓库。
在搭建仓库的时候linux 使用user 权限。不要使用root 权限。避免后期提交代码出现问题。
git init --bare
三、搭建客户端
在windos 上搭建客户端。安装window app 即可
1. git 通信
git 采用ssh 进行通信。 git 客户端和仓库之间采用ssh协议通信,采用非对称加密的方式。 在windows 上创建公私钥。
创建公私钥:在git bash shell 下创建
ssh-keygen -t rsa // 然后一路enter
本地操作:
密钥的位置:
生成密钥位置:C:\Users\Administrator.ssh
然后复制公钥文件(id_rsa.pub)内容.
远端操作(服务端仓库):
cd /home/ubuntu_go/.ssh 目录下。赋值公钥内容到authorized_keys文件内,保存即可。 文件不存在创建即可。
2. git支持的通信协议
http/https,ssh, git 本身协议。
本地拉取代码
采用ssh 协议
git clone ssh://user_name@ip_addr:/code_brach
3. 配置用户名和密码
配置用户名和密码分为全局和局部;
全局配置:
如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情,Git 都会使用那些信息
// 进入仓库分支
git config --global config user.name ubuntu_go
git config --global user.email ubuntu_go@qq.com //邮箱地址可以随便写,不进行验证
局部配置
设置每个文件夹都有用户名字和密码
想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。
// 进入到分支路径下
git config user.name ubuntu_go
git config user.email ubuntu_go@qq.com //邮箱地址可以随便写,不进行验证
查看配置
使用git config --list来查看git的所有配置
局部配置可以指这样查看:
进入本地仓库内.git 文件夹下面的config 文件内。
查看git 帮助
git help
man git
Git 工作流程
Git 工作流程如下所示:
GIt 管理分4部分: 本地工作区,暂存区,本地仓库,远端仓库。
本地工作区,暂存区,本地仓库是属于本地操作。
功能解析
WorkSpace: 工作区域,平时存放项目代码地方;
Index/stage: 暂存区,用于标记你的改文件名,新建文件名等,事实上它只是一个文件,保存即将提交的文件列表信息。(git status 查看是否标记,git add file_name 添加标记)
Repository: 本地仓库区(或版本库) ,就是本地安全粗放囊数据的位置,这里买呢有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本;
Remote : 远程仓库,托管代码的服务器。
文件工作流程:
git的工作流程一般是这样的:
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件git add到暂存区域;
3、将暂存区域的文件commit到git仓库;
4、本地的修改push到远程仓库,如果失败则执行第5步
5、git pull将远程仓库的修改拉取到本地,如果有冲突需要修改冲突。回到第三步
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
本地文件状态:
文件状态解析:
总结
此文章主要是对git基础原理的介绍和基本git 安装部署等。
参考
Git教程
文章参考与<零声教育>的C/C++linux服务期高级架构系统教程学习: