IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> git 基础通关指南 -> 正文阅读

[开发工具]git 基础通关指南

git 介绍

  • git是免费、开源的分布式版本控制工具
  • 能快速高效处理各类项目,解决了集中式版本控制的缺陷【服务器down掉,协同操作就不可行了】,
  • git的服务器断网也可以开发,因为版本控制是在本地进行的,每个客户端保存的也是整个完整项目(包含历史记录上的,相对来说更加安全)
  • 基于远程服务器的远程代码仓库,一般称为远程库

git 现阶段代码托管中心

* 局域网:gitLab
* 互联网:gitHub【外网】、Gitee码云【国内网站】

git 基本工作流

  1. 工作区【代码存放本地磁盘的目录】、执行命令git add 到第二步
  2. 暂存区【临时存储】执行命令git commit到第三步
  3. 本地库【历史版本-无法删除】执行命令git push到第四步
  4. 远程库

安装及初始化操作

git官网安装 :

https://git-scm.com/downloads

  • git init 新建项目的时候,初始化本地库;当然如果存在项目直接git clone了项目即可;操作完成会生成对应的.git文件
  • 设置用户签名【首次安装git必须设置】,用来区分是哪个操作者提交的代码的
	git config --global user.name [名字]
    git config --global user.email 【邮箱】

ssh免密登录

1、执行命令 ssh-keygen -t rsa -C “yan_yan@.xxx.com” 直接敲三次回车,不用输入【输入密码,通常不输入,否则每次提交拉取代码就很麻烦】

  • ssh-keygen 用于ssh免登录协议生成免密的
  • -t rsa 其中-t表示指定的算法,rsa即著名的非对称算法
  • -C “yan_yan@xxx.com” -c表示描述,一般后面加的邮箱

2、执行完上面命令根目录就生成了.ssh文件,里面包括两个文件私钥id_rsa、公钥id_rsa.pub
3、将~/.ssh/id_rsa.pub公钥文件内的内容复制在gitlab中找到settings、ssh keys然后生成密钥即可

  • gitlab的ssh生成私钥
    在这里插入图片描述

git命令

创建远程库别名

一般提交的时候远程库链接太长,创建别名方便提交
// 创建git远程库别名
git remote -v // 查看当前远程库是否有别名
// 创建别名,创建完成会有两个对应的地址,fetch、push 表示拉取推送
git remote add 别名 远程库地址名称 

克隆代码【包括:拉取代码、初始化本地库、创建别名origin】

git clone 代码链接 // 克隆代码,不需要登录账号
git clone --depth=1 *** // 拉取代码,拉取commit个数

基本工作流

git status // 查看工作区状态
git add //  添加暂存区
git rm --cache 文件名 // 将暂存区域的文件删除,但是本地文件还是存在
git commit - m “注释信息” // 提交本地库
git push 【远程库】 分支名 // 推送代码到远程库
git pull 【远程库】 分支名 //更新本地代码, 拉取远程库代码【拉取代码会自动提交到本地库】

基础命令

// 查看提交记录
git reflog // 查看基础信息
git log // 查看详细提交版本记录【提交者、提交时间、提交版本号】

/*回退或者前进版本【回退到你--hard版本号的版本】*/
git reflog 查看版本号
git reset --hard 版本号

分支相关操作

git branch 分支名 // 创建分支
git branch -v // 查看分支以及分支最后一次提交记录
git checkout 分支名 // 切换分支,加上参数 -b 就是切换并且创建分支
git fetch 分支名  // 拉取远程分支
git merge 分支名  // 将制定分支合并到当前分支
// 删除分支
git branch -D bug_yan // 删除本地的bug_yan分支
分支git push origin --delete bug_yan //删除远程的bug_yan

本地暂存文件

git stash [message] //暂时保存在本地,message为本次保存的注释
git stash list // 查看所有保存的记录列表
git stash pop stash@{num} //恢复,num是可选项,通过git stash list可查看具体值。只能恢复一次
git stash clear //删除所有保存

部分命令演示

  • 创建别名
    在这里插入图片描述
  • git commit信息 && git relog 查看简单的版本信息
    在这里插入图片描述
  • git reset 回退操作
    在这里插入图片描述
  • 查看当前分支指向和版本号
    在这里插入图片描述
  • 查看本地分支以及分支最后一次提交记录
    在这里插入图片描述

git 分支

分支: 版本控制中有需要同时多任务开发,故需要为每个任务创建分支,程序员在自己分支开发,不会影响主分支和其他分支,分支的底层是指针的引用
分支冲突::不同分支修改同一个文件,系统不知道取誰的修改,故是冲突需要我们人为解决;解决完冲突需要重新添加提交
在这里插入图片描述

团队协作

同团队协作:同一团队的,设置权限限制。才有push权限
跨团队协作:fork一个项目A成为新项目B,然后push到B【版本由自己本地控制】,再向原来项目发起pull request,审核通过,A merge B即可
在这里插入图片描述

  • github组内协作邀请成员
    在这里插入图片描述

git项目规范

持续更新~

其他

  • 创建忽略文件
    • 因为有些包体积大,有些包只是编辑器生成的效果,所以创建忽略文件,设置不上传文件
    • 文件是以 .gitignore后缀名,建议存放在项目根目录
// .gitignore文件
.history // 忽略.history文件
*.log // 忽略.log 后缀名的文件
  • git是按照行信息为基础维护文件的
  • git控制版本是通过调用指针指向版本信息

参考

https://www.bilibili.com/video/BV1vy4y1s7k6?p=45

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-12-13 13:02:18  更:2021-12-13 13:03:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:01:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码