git 使用

参考
https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7%E5%8F%96-Git-%E4%BB%93%E5%BA%93
在这里插入图片描述
文件的状态变化周期

文章目录

    • git 基础
      • 检查当前文件状态、查看已暂存和未暂存的修改
      • 暂存前后的变化
      • 跟踪新文件
      • 提交更新
      • 移除文件
      • 移动文件、重命名操作
      • 查看提交历史
      • 撤消对文件的修改
      • 查看远程仓库
      • 推送到远程仓库
      • 查看某个远程仓库
      • 远程仓库的重命名与移除
    • git 分支
      • 分支切换
      • 分支的合并
      • 删除分支
      • 删除远程分支
      • 拉取
      • Git 分支 - 远程分支
      • Git 分支 - 变基
      • git 补丁

git 基础

忽略文件

.gitignore # https://github.com/github/gitignore

检查当前文件状态、查看已暂存和未暂存的修改

git status
git status -s       #状态简览
git status --short

暂存前后的变化

git diff
git diff --staged     #比对已暂存文件与最后一次提交的文件差异 
git diff --cached     #查看已经暂存起来的变化

跟踪新文件

git add xxx

提交更新

git commit xxx
git commit -m  "xxx"

移除文件

git rm xxx

移动文件、重命名操作

git mv xxx xxxc

查看提交历史

git log
git log -p -2     #显示每次提交所引入的差异(按 补丁 的格式输出),使用 -2 选项来只显示最近的两次提交git log --stat    #除了显示基本信息之外,还附带了每次提交的变化
git log --pretty=oneline         #oneline 会将每个提交放在一行显示,--pretty 使用不同于默认格式的方式展示提交历史
git log --pretty=format:"%h - %an, %ar : %s"        #输出对后期提取分析格外有用
git log --since=2.weeks          # 限制输出长度 --since 和 --until 这种按照时间作限制的选项很有用

撤消对文件的修改

git checkout -- xxx
git reset HEAD <file> #撤消之前所做的修改

查看远程仓库

git remote
git remote -v        #显示需要读写远程仓库使用的 Git 保存的简写与其对应的 URL
git remote add <shortname> <url> #添加一个新的远程 Git 仓库

推送到远程仓库

 git push origin master

查看某个远程仓库

git remote show origin

远程仓库的重命名与移除

git remote rename xxx xxxc
git remote remove xxx
git remote rm     xxx

git 分支

分支切换

git checkout testing
git log --oneline --decorate --graph --all     #输出提交历史、各个分支的指向以及项目的分支分叉情况
git checkout -b <newbranchname>                #创建新分支的同时切换过去

分支的合并

git merge xxx

删除分支

git branch -d xxx
git branch -D xxx            #强制删除

删除远程分支

git push origin --delete xxx

分支管理

git branch
git branch -v                    #查看每一个分支的最后一次提交
git branch --merged              #查看哪些分支已经合并到当前分支
git branch --no-merged           #查看所有包含未合并工作的分支

拉取

git pull      #会查找当前分支所跟踪的服务器与分支, 从服务器上抓取数据然后尝试合并入那个远程分支。
#git pull 相当于是一个 git fetch 紧接着一个 git merge 命令
git fetch     #服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容

Git 分支 - 远程分支

git remote show <remote>

Git 分支 - 变基

https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%8F%98%E5%9F%BA

git 补丁

git format-patch -1git am xxx.patch		# 打补丁
git apply xxx.patch#git format-patch详解
git format-patch HEAD^    	#打包最近的一个patc,有几个^就打包几个patch的内容;或git format-patch -n
git format-patch -n1 -n2		#打包版本n1与n2之间的patch:
git format-patch xxx				#某次提交以后的所有patch:,xxx是commit名
git format-patch -n xxx    	#某次提交(含)之前的几次提交:,xxx是commit名
git format-patch xxx..xxx 	#某两次提交之间的所有patch:,xxx是commit名
git format-patch xxx --stdout > xxx.patch	# 将所有patch输出到一个指定位置的指定文件

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

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

相关文章

正点原子嵌入式linux驱动开发——pinctrl和gpio子系统

在上一篇笔记中&#xff0c;学习编写了基于设备树的LED驱动&#xff0c;但是驱动的本质还是没变&#xff0c;都是配置LED灯 所使用的GPIO寄存器&#xff0c;驱动开发方式和裸机基本没区别。Linux是一个庞大而完善的系统&#xff0c;尤其是驱动框架&#xff0c;像GPIO这种最基本…

sklearn处理离散变量的问题——以决策树为例

最近做项目遇到的数据集中&#xff0c;有许多高维类别特征。catboost是可以直接指定categorical_columns的【直接进行ordered TS编码】&#xff0c;但是XGboost和随机森林甚至决策树都没有这个接口。但是在学习决策树的时候&#xff08;无论是ID3、C4.5还是CART&#xff09;&am…

执法记录仪主板_基于MTK6877联发科5G主板方案

4G/5G智能执法记录仪是一种集成了先进的人工智能和传感器技术的设备&#xff0c;不仅可以记录事件发生的过程&#xff0c;还能够辅助工作人员进行人车识别、安全预警。这种记录仪使用联发科MT6877芯片作为主板方案&#xff0c;该芯片采用了6纳米工艺制程&#xff0c;拥有八核CP…

python二次开发CATIA:CATIA Automation

CATIA 软件中有一套逻辑与关系都十分严谨的自动化对象&#xff0c;它们从CATIA(Application)向下分支。每个自动化对象&#xff08;Automation Object&#xff0c;以下简称Object&#xff09;都有各自的属性与方法。我们通过程序语言调用这些 Object 的属性与方法&#xff0c;便…

latex:使用中文字体

解决方案 我这里使用的是gbsn&#xff08;其他的字体我不知道&#xff0c;如果有补充请评价&#xff09;&#xff0c;详细说明如下&#xff1a;

[开源]MIT开源协议,基于Vue3.x可视化拖拽编辑,页面生成工具

一、开源项目简介 AS-Editor 基于 Vue3.x 可视化拖拽编辑&#xff0c;页面生成工具。提升前端开发效率&#xff0c;可集成至移动端项目作为通过定义 JSON 直接生成 UI 界面。 二、开源协议 使用MIT开源协议 三、界面展示 四、功能概述 基于Vue可视化拖拽编辑&#xff0c;…

【Eclipse】安装与卸载教程

目录 1.绿色版免安装版本 2.安装版本 3.卸载 首先打开官网&#xff1a;Eclipse Downloads | The Eclipse Foundation 选择download package 如图所示&#xff0c;到如下界面 1.绿色版免安装版本 按图片点击&#xff0c;即可开始下载 下载好后解压 &#xff0c;在桌面创建…

35岁左右的项目经理,这5种能力一定要有​

大家好&#xff0c;我是老原。 经常有项目经理和我吐槽&#xff0c;现在不管是做项目&#xff0c;还是做管理&#xff0c;都太难了。 上有甲方和和老板给压力&#xff0c;下有团队成员叫苦连天&#xff0c;最后里外不是人。 刚毕业20多岁的时候还好&#xff0c;随着年龄的增…

网络工程师知识点6

91、3、IP ABC类私有地址和个数 A类私有地址1个&#xff1a;10.0.0.0/8 B类私有地址16个&#xff1a;172.16.0.0~172.31.0.0/16 C类私有地址256个&#xff1a;192.168.0.0~192.168.255.0/24 92、拥塞管理机制的实现过程分为哪两步&#xff1f; 第一步&#xff1a;将准备从一个…

【计算机毕设选题推荐】网络在线考试系统SpringBoot+SSM+Vue

前言&#xff1a;我是IT源码社&#xff0c;从事计算机开发行业数年&#xff0c;专注Java领域&#xff0c;专业提供程序设计开发、源码分享、技术指导讲解、定制和毕业设计服务 项目名 网络在线考试系统 技术栈 SpringBootSSMVueMySQLMaven 文章目录 一、网络在线考试系统-环境…

pycharm操作git

pycharm操作git 之前用命令做的所有操作&#xff0c;使用pychrm点点就可以完成 克隆代码 上方工具栏Git ⇢ \dashrightarrow ⇢ Clone ⇢ \dashrightarrow ⇢ 填写地址&#xff08;http、ssh&#xff09; 提交到暂存区&#xff0c;提交到版本库&#xff0c;推送到远程 直接…

MPLS基础

1. MPLS原理与配置 MPLS基础 &#xff08;1&#xff09;MPLS概念 MPLS位于TCP/IP协议栈中的数据链路层和网络层之间&#xff0c;可以向所有网络层提供服务。 通过在数据链路层和网络层之间增加额外的MPLS头部&#xff0c;基于MPLS头部实现数据快速转发。 本课程仅介绍MPLS在…