码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【linux命令讲解大全】015 .Git:分布式版本控制系统的先驱和常用命令清单(四)


    文章目录

    • 分支(Branch)
      • 删除分支
      • 提交分支
      • 拉取分支
      • 分支合并
      • 分支重命名
      • 查看分支
      • 新建分支
      • 连接分支
      • 分支切换
      • 远端操作
    • Submodule
      • 克隆项目同时克隆Submodule
      • 克隆项目后手动克隆子模块
      • 删除文件
    • Remote
    • 标签(Tag)
    • 日志(Log)
    • 从零学 `python`

    分支(Branch)

    删除分支

    • 删除远程分支:
    git push origin :branchName  # 删除远程分支  
    git push origin --delete new # 删除远程分支new   
    
    • 1
    • 2
    • 删除本地分支:
    git branch -d branchName     # 删除本地分支,强制删除用-D  
    git branch -d test      # 删除本地test分支   
    git branch -D test      # 强制删除本地test分支   
    git remote prune origin # 远程删除了,本地还能看到远程存在,这条命令删除远程不存在的分支
    
    • 1
    • 2
    • 3
    • 4

    提交分支

    将本地分支提交到远程主机中:

    git push -u origin branchName # 提交分支到远程origin主机中  
    
    • 1

    拉取分支

    当远程分支已被删除,但本地仍存在同名分支时,使用以下命令自动清理:

    git fetch -p #拉取远程分支时,自动清理 远程分支已删除,本地还存在的对应同名分支。
    
    • 1

    分支合并

    将分支合并到当前分支:

    git merge branchName      # 合并分支 - 将分支branchName和当前所在分支合并   
    git merge origin/master   # 在本地分支上合并远程分支。   
    git rebase origin/master  # 在本地分支上合并远程分支。   
    git merge test            # 将test分支合并到当前分支   
    
    • 1
    • 2
    • 3
    • 4

    分支重命名

    重命名分支:

    git branch -m old new #重命名分支
    
    • 1

    查看分支

    • 列出本地分支:
    git branch      # 列出本地分支   
    
    • 1
    • 列出远程分支:
    git branch -r   # 列出远端分支   
    
    • 1
    • 列出所有分支:
    git branch -a   # 列出所有分支   
    
    • 1
    • 查看各个分支最后一个提交对象的信息:
    git branch -v   # 查看各个分支最后一个提交对象的信息   
    
    • 1
    • 查看已经合并到当前分支的分支:
    git branch --merged      # 查看已经合并到当前分支的分支   
    
    • 1
    • 查看未合并到当前分支的分支:
    git branch --no-merged   # 查看为合并到当前分支的分支   
    
    • 1
    • 查看remote地址和远程分支:
    git remote show origin  # 可以查看remote地址,远程分支
    
    • 1

    新建分支

    git branch test # 新建test分支  
    git branch newBranch 3defc69 # 指定哈希3defc69,新建分支名字为newBranch
    git checkout -b newBranch origin/master # 取回远程主机的更新以后,在它的基础上创建一个新的分支  
    git checkout -b newBranch 3defc69 # 以哈希值3defc69,新建newBranch分支,并切换到该分支
    
    • 1
    • 2
    • 3
    • 4

    连接分支

    建立本地分支与远程分支之间的链接:

    git branch --set-upstream dev origin/dev     # 将本地dev分支与远程dev分支之间建立链接  
    git branch --set-upstream master origin/next # 手动建立追踪关系  
    
    • 1
    • 2

    分支切换

    切换分支:

    git checkout test     # 切换到test分支   
    git checkout -b test  # 新建+切换到test分支   
    git checkout -b test dev # 基于dev新建test分支,并切换   
    
    • 1
    • 2
    • 3

    远端操作

    git fetch <远程主机名> <分支名>   # fetch取回所有分支(branch)的更新  
    git fetch origin remotebranch[:localbranch]   #  从远端拉去分支[到本地指定分支]   
    git merge origin/branch   # 合并远端上指定分支   
    git pull origin remotebranch:localbranch  #  拉去远端分支到本地分支   
    git push origin branch    # 将当前分支,推送到远端上指定分支   
    git push origin localbranch:remotebranch  # 推送本地指定分支,到远端上指定分支   
    git push origin :remotebranch   # 删除远端指定分支   
    git checkout -b [--track] test origin/dev # 基于远端dev分支,新建本地test分支[同时设置跟踪]  
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Submodule

    克隆项目同时克隆Submodule

    git clone https://github.com/jaywcjlove/handbook.git --depth=1 --recurse-submodules
    
    • 1

    克隆项目后手动克隆子模块

    git submodule add --force '仓库地址' '路径'
    # 其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下的路径。
    # 注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone)
    
    • 1
    • 2
    • 3
    • 初始化子模块:
    git submodule init # 初始化submodule
    
    • 1
    • 更新子模块:
    git submodule update # 更新submodule(必须在根目录执行命令)
    
    • 1
    • 下载带有submodule的工程:
    git submodule update --init --recursive  # 下载的工程带有submodule
    
    • 1
    • 子模块含有其他子模块时一次更新:
    git submodule foreach git pull  # submodule 里有其他的 submodule 一次更新
    
    • 1
    • 子模块更新:
    git submodule foreach git pull origin master # submodule更新
    
    • 1
    • 给所有子模块初始化并更新:
    git submodule foreach --recursive git submodule init
    git submodule foreach --recursive git submodule update
    
    • 1
    • 2

    删除文件

    git rm -rf node_modules/
    
    • 1

    Remote

    Git是一个分布式代码管理工具,因此可以支持多个仓库。在Git中,服务器上的仓库在本地被称为远程(Remote)。个人开发时,可能用到多个远程仓库。

    • 添加远程仓库:
    git remote add origin1 git@github.com:yanhaijing/data.js.git  
    
    • 1
    • 显示全部远程仓库:
    git remote    # 显示全部源  
    
    • 1
    • 显示全部远程仓库(包含详细信息):
    git remote -v # 显示全部源+详细信息  
    
    • 1
    • 重命名远程仓库:
    git remote rename origin1 origin2 # 重命名  
    
    • 1
    • 删除远程仓库:
    git remote rm origin    # 删除  
    
    • 1
    • 查看指定远程仓库的全部信息:
    git remote show origin  # 查看指定源的全部信息  
    
    • 1

    标签(Tag)

    在开发到一定阶段时,给代码打标签是非常有用的。

    • 新建带注释的标签:
    git tag -a v0.1 -m 'my version 1.4' # 新建带注释标签   
    
    • 1
    • 一次性推送所有标签:
    git push origin --tags              # 一次性推送所有分支 
    
    • 1
    • 推送单个标签到origin源:
    git push origin v1.5                # 推送单个tag到orgin源上 
    
    • 1
    • 验证标签,验证已经签署的标签:
    git tag -v v1.4.2.1                 # 验证标签,验证已经签署的标签
    
    • 1
    • 查看现有标签:
    git tag        # 列出现有标签   
    
    • 1
    • 新建标签:
    git tag v0gi.1 # 新建标签   
    
    • 1
    • 切换到标签:
    git checkout tagname   # 切换到标签       
    
    • 1
    • 删除标签:
    git tag -d v0.1 # 删除标签   
    
    • 1
    • 删除远程标签:
    git push origin :refs/tags/v0.1 # 删除远程标签   
    
    • 1
    • 获取远程所有内容(包括标签):
    git pull --all # 获取远程所有内容包括tag  
    
    • 1
    • 查看本地版本信息:
    git --git-dir='<绝对地址>/.git' describe --tags HEAD # 查看本地版本信息  
    
    • 1

    日志(Log)

    • 显示单行提交日志:
    git config format.pretty oneline  #显示历史记录时,每个提交的信息只显示一行   
    
    • 1
    • 彩色的Git输出:
    git config color.ui true #彩色的 git 输出   
    
    • 1
    • 查看最近的提交日志:
    git log #查看最近的提交日志   
    
    • 1
    • 单行显示提交日志:
    git log --pretty=oneline #单行显示提交日志   
    
    • 1
    • 使用图形展示提交日志:
    git log --graph --pretty=oneline --abbrev-commit   
    
    • 1
    • 显示第几条日志(倒数):
    git log -num #显示第几条log(倒数)   
    
    • 1
    • 查看所有分支的所有操作记录:
    git reflog #查看所有分支的所有操作记录   
    
    • 1
    • 显示一天内的提交日志;可以使用各种时间格式,例如特定日期(“2008-01-15”)或多久以前(“2 years 1 day 3 minutes ago”):
    git log --since=1.day #一天内的提交;你可以给出各种时间格式,比如说具体的某一天(“2008-01-15”),或者是多久以前(“2 years 1 day 3 minutes ago”)。   
    
    • 1
    • 查看自己的提交日志:
    git log --pretty="%h - %s" --author=自己的名字 #查看自己的日志   
    
    • 1
    • 展开两次更新,显示每次提交的内容差异:
    git log -p -2 #展开两次更新显示每次提交的内容差异   
    
    • 1
    • 快速浏览其他协作者提交的更新:
    git log --stat #要快速浏览其他协作者提交的更新都作了哪些改动   
    
    • 1
    • 定制显示记录格式:
    git log --pretty=format:"%h - %an, %ar : %s"#定制要显示的记录格式   
    
    • 1
    • 拓扑顺序展示提交日志:
    git log --pretty=format:'%h : %s' --date-order --graph # 拓扑顺序展示   
    
    • 1
    • 显示日期(YYYY-MM-DD):
    git log --pretty=format:'%h : %s - %ad' --date=short #日期YYYY-MM-DD显示  
    
    • 1
    • 只显示commit:
    git log  HEAD --pretty=format:%s # 只显示commit   
    
    • 1
    • 写入全局配置,设置日期格式为YYYY-MM-DD:
    git config --global format.pretty '%h : %s - %ad' --date=short #日期YYYY-MM-DD显示 写入全局配置
    
    • 1
    选项说明
    %H提交对象(commit)的完整哈希字串
    %h提交对象的简短哈希字串
    %T树对象(tree)的完整哈希字串
    %t树对象的简短哈希字串
    %P父对象(parent)的完整哈希字串
    %p父对象的简短哈希字串
    %an作者(author)的名字
    %ae作者的电子邮件地址
    %ad作者修订日期(可以用 -date= 选项定制格式)
    %ar作者修订日期,按多久以前的方式显示
    %cn提交者(committer)的名字
    %ce提交者的电子邮件地址
    %cd提交日期
    %cr提交日期,按多久以前的方式显示
    %s提交说明

    以上表格列出了在Git中可用的Pretty Formats选项及其说明。您可以根据需要选择相应的选项来自定义log输出格式,例如展示作者、提交日期和提交说明等信息。

    从零学 python

    【从零学习python 】92.使用Python的requests库发送HTTP请求和处理响应
    【从零学习python 】91. 使用装饰器和字典管理请求路径的简洁Web应用
    【从零学习python 】93.使用字典管理请求路径
    【从零学习python 】89. 使用WSGI搭建简单高效的Web服务器
    【从零学习python 】88. WSGI接口详解:实现简单高效的Web开发
    【从零学习python 】87. 手动搭建HTTP服务器的Python实现及多线程并发处理
    【从零学习python 】86. 深入了解HTTP协议及其在浏览器和服务器通信中的作用
    【从零学习python 】85.Python进程池的并行计算技术应用
    【从零学习python 】84.深入理解线程和进程
    【从零学习python 】83. Python多进程编程与进程池的使用
    【从零学习python 】82. 基于多线程的聊天程序实现
    【从零学习python 】81.Python多线程通信与队列的应用
    【从零学习python 】80.线程访问全局变量与线程安全问题
    【从零学习python 】79. 线程访问全局变量与线程安全问题
    【从零学习python 】78. 文件下载案例
    【从零学习python 】77. TCP服务端编程及注意事项
    【从零学习python 】76.服务器与客户端:网络通信的关键组成部分
    【从零学习python 】75. TCP协议:可靠的面向连接的传输层通信协议
    【从零学习python 】74. UDP网络程序:端口问题与绑定信息详解
    【从零学习python 】73. UDP网络程序-发送数据
    【从零学习python 】72. 深入理解Socket通信及创建套接字的方法
    【从零学习python 】71. 网络端口及其作用
    【从零学习python 】70.网络通信方式及其应用:从直接通信到路由器连接多个网络
    【从零学习python 】69. 网络通信及IP地址分类解析
    【从零学习python 】68. Python正则表达式中的贪婪和非贪婪模式
    【从零学习python 】67.Python中的re模块:正则替换与高级匹配技术
    【从零学习python 】66.深入了解正则表达式:模式匹配与文本处理的利器
    【从零学习python 】65. Python正则表达式修饰符及其应用详解
    【从零学习python 】64. Python正则表达式中re.compile方法的使用详解
    【从零学习python 】63.正则表达式中的re.Match类及其属性和方法介绍
    【从零学习python 】62. Python正则表达式:强大的字符串匹配工具
    【从零学习python 】61.Python中的property属性详解和应用示例
    【从零学习python 】60.探索生成器:迭代的灵活利器
    【从零学习python 】59.迭代器:优化数据遍历的高效工具
    【从零学习python 】58.Python中的自定义异常及引发异常的方法
    【从零学习python 】57.Python中使用with关键字正确关闭资源
    【从零学习python 】56. 异常处理在程序设计中的重要性与应用
    【从零学习python 】55.Python中的序列化和反序列化,JSON与pickle模块的应用
    【从零学习python 】54. 内存中写入数据
    【从零学习python 】53. CSV文件和Python的CSV模块
    【从零学习python 】52.文件的读写 - Python文件操作指南
    【从零学习python 】51.文件的打开与关闭及其在Python中的应用
    【从零学习python 】49. Python中对象相关的内置函数及其用法
    【从零学习python 】48.Python中的继承与多继承详解
    【从零学习python 】47. 面向对象编程中的继承概念及基本使用
    【从零学习python 】46. Python中的__new__和__init__方法解析及单例设计模式
    【从零学习python 】45.Python中的类方法和静态方法
    【从零学习python 】44.面向对象编程中的私有属性和方法
    【从零学习python 】43. Python面向对象编程中的实例属性和类属性
    【从零学习python 】42.Python中的内置属性和方法
    【从零学习python 】41.python魔法方法(二)
    【从零学习python 】40.python魔法方法(一)
    【从零学习python 】39.面向对象基本语法及应用示例
    【从零学习python 】38.Python包的使用及导入方式
    【从零学习python 】37.Python自定义模块的使用和注意事项
    【从零学习python 】36.Python中使用pip进行第三方包管理的方法与技巧
    【从零学习python 】35. Python常见系统模块及其用法
    【从零学习python 】34.Python模块的导入和使用方法详解
    【从零学习python 】33.装饰器的作用(二)
    【从零学习python 】32.装饰器的作用(一)
    【从零学习python 】31.深入理解Python中的高阶函数和闭包
    【从零学习python 】30.深入理解递归函数和匿名函数
    【从零学习python 】29. 「函数参数详解」——了解Python函数参数的不同用法
    【从零学习python 】28. Python中的局部变量和全局变量
    【从零学习python 】27. Python 函数的使用及嵌套调用
    【从零学习python 】25.函数:提高代码编写效率的利器
    【从零学习python 】24. Python中的字符串操作与遍历方法
    【从零学习python 】23. Python中集合(set)的使用方法和常见操作
    【从零学习python 】22. Python中的字典的增删改查及字典的变量
    【从零学习python 】21.Python中的元组与字典
    【从零学习python 】20. Python列表操作技巧及实例
    【从零学习python 】19. 循环遍历列表和列表嵌套的应用
    【从零学习python 】18. Python列表的基本操作详解(一)
    【从零学习python 】17. Python字符串的format方法(二)
    【从零学习python 】16. Python字符串的format方法(一)
    【从零学习python 】15.深入了解字符串及字符集编码
    【从零学习python 】14.Python字符串常见操作(二)
    【从零学习python 】13.Python字符串常见操作(一)
    【从零学习python 】12.Python字符串操作与应用
    【从零学习python 】11.Python循环语句和控制流程
    【从零学习python 】10.Python条件语句和if嵌套详解
    【从零学习python 】09.Python 中的条件判断语句
    【从零学习python 】08.Python了解位运算符, 运算符优先级
    【从零学习python 】07.Python运算符详解:赋值、比较和逻辑运算符
    【从零学习python 】06. Python中运用算数运算符进行计算和字符串拼接
    【从零学习python 】05. Python中的输出和输入
    【从零学习python 】04. Python编程基础:变量、数据类型与标识符
    【从零学习python 】03. Python交互式编程及注释详解
    【从零学习python 】02. 开发工具介绍
    【从零学习python 】01. 安装配置python

  • 相关阅读:
    项目二---04.基于Nginx、keepalived的高可用集群之Apache Bench测试
    java计算机毕业设计springboot+vue留学服务管理平台系统(源码+系统+mysql数据库+Lw文档)
    SpringCloud 微服务全栈体系(六)
    2022UUCTF--WEB
    ruby语言怎么写个通用爬虫程序?
    设计模式之编程方法论
    深入剖析怎么分析进程crash问题(上)
    企业信息系统应急响应预案
    Go语言学习——map
    蓝桥等考Python组别六级003
  • 原文地址:https://blog.csdn.net/qq_33681891/article/details/132554880
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号