【Git 快速了解】

Git简单了解

一、控制系统

	分布式版本控制系统 git 集中式版本控制系统 svn cvs

二、安装Git

sudo apt install git
sudo apt search git

三、配置git环境

参数:–globle :长命令表示配置整个git环境
git config --global user.name “你的用户名”
git config --global user.email “你的邮箱”

四、创建本地仓库

本地仓: git init //master
完整流程:
mkdir test //创建空目录
cd test //进入目录
git init //初始化当前仓库
初始化后会生成git的配置文件目录,需要通过ls -ah查看隐藏目录
/home/stephenzhou/test/.git

五、新建文件添加到本地仓库

touch test.c //新建文件test.c
git add test.c // 将文件添加到缓存区
git commit -m " add test.c" // 提交到本地仓
git commit -m 中的-m 命令用来简写我们描述的信息“add test.c“
该命令会生成40位的哈希值,用于作为id。

六、改写提交:

git add test.c
git commit -m “add new file ‘test.c’”
git commit --amend //重写上一次的提交信息
i 命令进入编辑
ctrl + o: 完成修改后按下

七、查看历史提交日志

git log
git log --pretty=oneline //简介输出日志信息

八、回滚代码仓库

git reset --hard^ //退回到当前仓的上一个版本
git reset --hard~3 //退回到当前仓的前三个版本

git reset --soft //将头指针恢复, 缓存区和工作区内容不变化
git reset --mixed //将头恢复掉,缓存区内容丢失,工作区内容不变
git reset --hard //一切全都恢复,头、缓存区消失,代码恢复到以前的状态

九、查看当前仓库状态

git status //查看提交之后文件是否做了改动

十、修改缓存区内容

git add --all //将所有改动文件添加到缓存区,包括删除的文件
git add . //同 git add --all ,但不会记录删除操作。
操作完成后需要git commit提交代码到本地仓

十一、将文件撤回到最近一次修改的状态

git checkout --file //checkout:切换参数,通常用来切换分支仓库

十二、查看单个文件可回滚版本:

git log filename

git log min.c
git reset Id min.c
git add min.c
git commit -m “new”

十三、删除文件

rm a.c
git add -a
git commit -m “rm a.c”

git rm a.cd
git commit -m “rm a.c”

十四、查看提交历史

git reflog //查看当前版本库的提交历史

十五、Git 基本组成框架

Workspace:开发之者工作区
Index/Stage:暂存组/缓存区
Repository: 仓库区(本地仓库)
remote:远程仓库

十六、git rm 后恢复文件

git rm 会将文件放入缓存区,且没有使用commit提交的情况下

git rm d.c //删除一个文件
git reset //重置缓存区
git checkout d.c //将文件取消操作

十七、创建分支

git checkout -b dev //创建分支,创建完成后自动切换
git branch //查看当前分支(HEAD的指向)
其中
git checkout -b dev
等价于
git branch dev //创建分支,但不会切换分支
git checkout dev //切换分支
git checkout master

十八、合并分支

git checkout master //切换到需要合并的分支上master
git merge dev //合并dev分支到master仓

十九、查看分支

git branch -a //查看当前所有分支

二十、删除分支

git branch -D branchname //删除本地分支
git push origin --delete remotename //删除远程分支

二十一、github将本地仓库关联到远程仓库

git remote add origin orginLink
git push -u origin master //推送到远程,
其中 -u 第一次提交加上即可,后面可以不用添加,只有合并记录,没有历史记录,也不能切换分支

二十二、将远程仓库关联到本地和拉去指定分支、切换远程分支

git clone 分支链接
git clone -b master //可以用来指定分支

二十三、github 提交本地仓库到远程仓库

git add //提交到缓存区
git commit -m //提交到本地仓库
git push origin master //推送到远程仓库

二十四、修改分支名称

git branch -m 分支名 新的分支名

二十五、保存当前工作分支

git stash //保存当前工作状态
git stash list //查看当前存储了多少工作状态
git checkout main //切换到其他分支

git stash pop //切回刚才的分支,刚刚的分支中状态恢复
git stash apply //删除列表中的内容默认恢复第一个
git stash apply list名称 //恢复到指定的内容
git stash drap list名称 //移除指定的内容
git stash clear //移除所有list
git stash show //查看栈中最新保存的shash与当前目录的差异

二十六、将别的分支修改转移到自己的分支

git cherry-pick 分支名 //会将master改动的代码合并到我们分支

二十七、远程删除分治后本地git branch -a 依然看得到的问题

git remote show origin //查看远程仓库信息
git remote prune origin //刷新本地分支仓库

二十八、强制合并分支

git merge master --allow-unrelated-histories

二十九、拉取远程所有分支

git fetch //拉取全部分支
git fetch XXX //XXX分支名称,拉去指定分支

三十、子模块管理

git submodule add link //添加子模块
git submodule update //子模块需要手动执行命令进行更新

三十一 git 其他命令

git branch -D //强制删除分支
git diff //查看不同分支差异
git remote -V //查看当前仓库名称
git log --graph --pretty=oneline --abbrev-commit //查看日志
git switch -b //切换分支与新增分支
git switch -c //切换新分支
git restore file //撤销文件的提交与修改

三十二、搭建本地git服务器

sudo apt install git //在debian/linux下使用此命令
git adduser git //仙剑一个用户专门管理git服务的账户
su git //切换到目录下
ssh-keygen -t rsa -C "你的邮箱” //配置好sshkey,生成.ss目录
touch authorized_keys //.ssh目录里查看没有则创建

sudo git init --bare txt.git //创建一个git仓库
vim etc/sudoers //进入权限目录
git ALL=(ALL:ALL)ALL //修改权限
sudo chown -R git:git txt.git //修改所熟组
vim /etc/passwd //安全考虑,禁止ssh登录
找到git: x:1001:1001;,:/home/git:/bin/bash
改为git: x:1001:1001;,:/home/git:/bin/git-shell
sudo apt install openssh-server //服务器安装ssh服务,git环境命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/2361.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

torch中 contiguous(), .view(), .reshape(), .permute(), .transpose()的区别与联系

文章目录 1、张量的数据存储2、张量的连续性:contiguous3、.view() 和 .reshape()4、.permute() 和 .transpose()5、总结 1、张量的数据存储 在pytorch中,张量的存储实际上分为两个部分,一部分是张量的头信息,包括张量的shape&am…

随手笔记——Ceres 求解曲线拟合问题

这里写目录标题 说明步骤源代码 说明 Google Ceres 是一个广泛使用的最小二乘问题求解库。在 Ceres 中,只需按照一定步骤定义待解的优化问题,然后交给求解器计算即可。 步骤 定义每个参数块。 参数块通常为平凡的向量,但是在 SLAM 里也可以…

vue3,elementPlus和自己封装,点击 新增添加表单,删除表单,提交数据

ElementPlus下的form也有新增表单 如果你写H5等没找到合适的 自己也可以进行封装 实现3个代码讲解:1:ElementPlus的代码 2:自己书写的代码 3:自己把2的代码进行封装 1:ElementPlus的运行效果 点击提交 1:ElementPlus…

BrowserRouter刷新404解决方案

1、本地开发环境 在js脚本命令里加上 --history-api-fallback "scripts": {"serve": "webpack serve --config webpack.dev.js --history-api-fallback" }2、生产环境,可以修改 nglnx 配置: server {listen XXXX; //端口号…

Python教程(3)——python开发工具vscode的下载与安装

Python的开发工具有很多款,很多都是非常好用的,其中vscode作为其中一款Python的开发工具,是非常轻量级的,今天我们来介绍一下vs code的下载与安装。 vscode的下载与安装 首先需要到vscode的官网,这个谷歌或者百度一下…

Windows上传ios dsym到Bugly

首先下载符号表工具腾讯 Bugly SDK下载 (qq.com) dsym 可以在 wIndow-Organizer-找到版本 右键show In Finder buglyqq-upload-symbol.jar 在上面得文件同级目录下 进入cmd 输入一下命令 需要修改成你自己得信息 java -jar buglyqq-upload-symbol.jar -appid d83b04b3c3 -ap…

hadoop分布式系统复习题 选择题

1、以下哪一项不属于 Hadoop 可以运行的模式? 互联模式 2、下面哪个程序负责 HDFS 数据存储? Datanode 3、HDFS 中的 block 默认保存__3 _份。 4、配置Hadoop时,JAVA_HOME包含在哪一个配置文件中 hadoop-env.sh 。 5、 Hadoop fs中的-get和-p…

VSCode 注释后光标快速定位下一行

VSCode默认用 Ctrl / 注释一行时,光标停留在该行中。下面介绍如何注释后,光标会自动移动到下一行。 1.【View】 ->【Extensions】->【查找并安装Multi-command 扩展】 2.【File 】 -> 【Preferences 】->【Keyboard Shortcuts】&#xff08…

【人工智能】xAI——“X宇宙”又增添了一位新成员

个人主页:【😊个人主页】 🌞热爱编程,热爱生活🌞 文章目录 前言xAI团队成员做解开宇宙本质的AI 前言 有人问他,xAI公司是干啥的?马斯克的回答引用了其偶像、科幻作家道格拉斯・亚当斯的话&…

Python实现将pdf,docx,xls,doc,wps,zip,xlsx,ofd链接下载并将文件保存到本地

前言 本文是该专栏的第31篇,后面会持续分享python的各种干货知识,值得关注。 在工作上,尤其是在处理爬虫项目中,会遇到这样的需求。访问某个网页或者在采集某个页面的时候,正文部分含有docx,或pdf,或xls,或doc,或wps,或ofd,或xlsx,或zip等链接。需要你使用python自…

写给前端工程师的Dart教程(3):类的基础与命名构造函数

题解 | #删除链表峰值# 更多关于算法题解、软件开发面经、机器学习算法面经、各企业面试问题记录,关注Fintech砖,持续更新中。https://www.nowcoder.com/use 题解 | #牛群的重新分组# 链表模拟题 知识点链表模拟题意分析以k个结点为一组翻转链表, 剩下…

【运维小知识】(四)——linux常用命令

运维专栏:运维小知识 目录 1.🍁🍁用mv命令修改文件名 2.🍃🍃创建及删除文件夹即文件夹下所有文件 3.🍂🍂移动文件夹并重命名 4.🌿🌿复制文件 5.🍄&#x…

Python 算法基础篇之字符串操作:索引、切片、常用方法

Python 算法基础篇之字符串操作:索引、切片、常用方法 引言 1. 字符串的概念和创建2. 字符串的索引3. 字符串的切片4. 字符串的常用方法 a ) 查找子字符串 b ) 替换子字符串 c ) 拆分和连接字符串 总结 引言 字符串是一种常见的数据类型,在 Python 中对…

ARM微控制器 AM2432BSEFHIALXR、AM2432BSFFHIALV技术参数(32位MCU)

1、AM2432BSEFHIALXR 32位MCU采用293引脚FCCSP封装,工作频率最高可达800MHz。该微控制器专为需要结合处理和实时通信的工业应用而构建,例如远程I/O模块和电机驱动器。 核心处理器:ARM Cortex-M4F,ARM Cortex-R5F 内核规格&#xf…

pytest 禁用警告信息(忽略警告信息输出)

如图示例代码,提示test_001这个case 存在警告 新增pytest.ini 配置文件 [pytest] filterwarnings errorignore::UserWarning

携带时间戳主动写入数据到prometheus service(可乱序、go)

使用到的github公开项目 https://github.com/castai/promwrite Prometheus版本2.45.0 拉下来装依赖,然后使用 client_test.go t.Run(“write with custom options”, func(t *testing.T) 这个测试用例里面,删掉srv初始化的部分,这个是模拟一…

本地生活直播,和电商直播有什么不一样?

直播正在成为零售业的标配,当下最新的一条赛道是“本地生活直播”。 (商家开始在美团等平台进行本地生活直播。摄影:李崧稷) 今年618,在老牌电商平台拉着无数网店,拼尽全力想要堆高销量的时候,一…

微信小程序导入微信地址

获取用户收货地址。调起用户编辑收货地址原生界面,并在编辑完成后返回用户选择的地址。 1:原生微信小程序接口使用API:wx.chooseAddress(OBJECT) wx.chooseAddress({success (res) {console.log(res.userName)console.log(res.postalCode)c…

TensorFlow模块简介

TensorFLow框架内构建了很多高层次的API,可以显著减少编写程序的代码量,其中包含众多网络结构相关函数和数据载入、数据处理的方法。 tf.data.Dataset tf.data.Dataset是TensorFlow内置的数据输入模块,提供了专门用于数据输入的多种方法&am…

【Linux】进程间通信——管道/共享内存

文章目录 1. 进程间通信2. 管道匿名管道命名管道管道的特性管道的应用:简易的进程池 3. System V共享内存共享内存的概念共享内存的结构共享内存的使用代码实现 1. 进程间通信 进程间通信(Inter-Process Communication,简称IPC)是…