git命令使用

君子拙于不知己,而信于知己。——司马迁

 

清屏:clear
查看当前面板的路径:pwd
查看当前面板的文件:ls
创建文件夹:mkdir 文件夹名
创建文件:touch 文件名
删除文件夹:rm -rf 文件夹名
删除文件:rm -f 文件名
移动文件/文件夹:mv 需移动文件/文件名 目标文件夹/(../上级)
 

初始化git项目:git init
添加目录到“暂存区”:git add 文件名/文件/(.目录下所有文件/文件名)
查看项目被跟踪的状态:git status
提交缓存区的文件到本地:git commit -m‘描述’
查看本地的文件有什么:git commit    shift+: wq 退出
查看配置:git config --list
更改user.name||user.email:git config --global user.name “更改信息”
 

主分支:master(默认分支,规范分支)
查看本地分支:git branch
添加本地分支:git branch 分支名
更改当前分支:git checkout 分支名
合并分支:git merge 分支名
查看提交历史(更新/删除历史):git log
撤销上一步操作:git reset --hard
 

码云创建仓库以及操作流程:
添加公钥:ssh-keygen (找到用户下的ssh打开id_rsa.pub复制即可)
新建本地项目(并git init 初始化)->暂存区->本地仓库->远程仓库
新建本地分支才能发送远程分支:
git branch 分支名(创建本地分支)
git push origin 分支名(创建远程分支)
查看远程分支:git branch -r
本地连接仓库:git remote add orgin 地址(仓库地址)
本地上传仓库:git push -u origin 分支名
本地强制推送仓库:git push -f origin 分支名(禁止在开发过程中使用)
克隆分支内容:git clone -b 分支名 仓库路径
默认克隆master:git clone
删除本地分支:git branch -D 分支名
删除远程分支:git branch -delete 分支名
新建分支并切换到指定分支:git checkout -b 分支名 origin/分支名
 

需要将分支 steam_old 修改为 steam_new ,执行如下步骤:
1、执行命令 git checkout steam_old 切换到 steam_old 分支,如果已经在这个分支下,可以不执行此步骤
2、执行命令 git pull origin steam_old 将代码更新到和远程仓库一致
3、执行命令 git branch -m steam_old steam_new 将本地仓库的 steam_old的名称修改为steam_new
4、执行命令 git push --set-upstream origin steam_new 将本地分支 push 到远程仓库
5、执行命令 git push origin --delete steam_old 将远程分支 steam_old 删除
 

举例子之前先补充一点知识吧:

 

Git clone --bare详解

一、什么是Git clone --bare

Git clone --bare是Git的一个命令,用于在不需要完整的工作树的情况下把整个仓库克隆到本地。--bare表示裸仓库,它只包含.git文件夹,而没有工作目录。相比于常规的克隆操作,--bare选项可以节省磁盘空间,同时可以加速克隆操作,特别是在仓库比较大的情况下。

使用--bare选项克隆的仓库通常用于服务器端的管理和备份,而不是作为本地开发和修改的工作目录使用。当需要对仓库进行修改时,可以从--bare仓库克隆一个有工作目录的版本进行修改。

二、Git clone --bare的使用场景

--bare选项通常用于以下场景:

1. 作为中央仓库:在多人协作开发的场景下,--bare仓库可以作为中央仓库,提供集中的开发管理和备份。

2. 部署网站:在部署网站时,可以将--bare仓库作为发布目录,并通过钩子脚本实现自动构建和发布。

3. 仅备份版本库:由于--bare仓库只保存了版本库的数据,不包含工作目录,因此对代码仓库进行备份时,推荐采用--bare选项,以免造成冗余备份。

三、Git clone --bare的使用方法

使用Git clone --bare命令的语法如下:

$ git clone --bare <repository> <bare-repository.git>

其中,<repository>是原始仓库的地址,<bare-repository.git>是裸仓库的名称。

例如,如果要克隆GitHub上的一个仓库作为--bare仓库,可以使用以下命令:

$ git clone --bare https://github.com/user/repo.git repo.git

这将从GitHub上克隆repo仓库,并创建一个名为repo.git的裸仓库。

四、使用--bare仓库进行开发和管理

通过Git clone --bare命令克隆了一个--bare仓库之后,通常需要将这个仓库复制到其他服务器或者开发者本地使用。

如果想在--bare仓库上进行修改和管理,可以从--bare仓库克隆一个有工作目录的版本进行操作。例如,可以使用以下命令将--bare仓库克隆到本地:

$ git clone <bare-repository.git> <working-directory>

其中,<bare-repository.git>是--bare仓库的路径,<working-directory>是工作目录的路径。

如下代码演示了如何从--bare仓库克隆一个有工作目录的版本:

$ git clone repo.git my-repo
$ cd my-repo
$ ls
README.md
file1.txt
file2.txt
...

在上述代码中,通过将--bare仓库克隆到my-repo目录,成功以有工作目录的形式加载了仓库中的所有文件。

五、使用--bare仓库进行备份和恢复

由于--bare仓库只保存版本库的数据,不包含工作目录,因此对仓库进行备份时,最好采用--bare选项。这样,可以保证备份时不会包含冗余数据。

如果需要恢复--bare仓库,则可以使用Git clone --bare命令重新克隆一份--bare仓库。如下代码演示了如何从已有的--bare仓库恢复一个新的--bare仓库:

$ git clone --bare repo.git new-repo.git
$ cp -R repo.git/* new-repo.git/
$ cd new-repo.git
$ git remote update

在上述代码中,--bare仓库repo.git被复制到了new-repo.git,然后通过git remote update命令更新了仓库中的远程引用。这样就可以恢复一个新的--bare仓库了。

六、总结

Git clone --bare是一个非常方便的Git命令,可以帮助我们节省磁盘空间,加速克隆操作,并提供中央仓库、部署网站等多种使用场景。如果你正在使用Git进行开发和管理,建议掌握--bare选项的使用方法,以便更好地管理和维护代码库。

eg:

将git仓库克隆到另一个仓库,并保留原来的提交记录

有时候远程提交后,出现下面的问题就是合并的问题,推远程镜像出现的地址不匹配问题,

需要用下面语句处理。处理会请删除本地,然后拉取远程的新库。

如同成功: 

 

end~

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

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

相关文章

Remote Sensing,2023 | 基于SBL的分布式毫米波相干雷达成像的高效实现

Remote Sensing,2023 | 基于SBL的分布式毫米波相干雷达成像的高效实现 注1&#xff1a;本文系“无线感知论文速递”系列之一&#xff0c;致力于简洁清晰完整地介绍、解读无线感知领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; MobiCom, Sigcom, MobiSys, NSDI…

爬虫IP时效问题:优化爬虫IP使用效果实用技巧

目录 1. 使用稳定的代理IP服务提供商&#xff1a; 2. 定期检测代理IP的可用性&#xff1a; 3. 配置合理的代理IP切换策略&#xff1a; 4. 使用代理IP池&#xff1a; 5. 考虑代理IP的地理位置和速度&#xff1a; 6. 设置合理的请求间隔和并发量&#xff1a; 总结 在爬虫过…

python知识:什么是字符编码?

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 我们的MySQL使用latin1的默认字符集&#xff0c; 也就是说&#xff0c;对汉字字段直接使用GBK内码的编码进行存储&#xff0c; 当需要对一些有汉字的字段进行拼音排序时&#xff08;特别涉及到类似于名字这样的字段时…

Docker网络与资源控制

一、Docker 网络实现原理 Docker使用Linux桥接&#xff0c;在宿主机虚拟一个Docker容器网桥(docker0)&#xff0c;Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址&#xff0c;称为Container-IP&#xff0c;同时Docker网桥是每个容器的默认网关。因为在同一宿…

Oracle外部表ORACLE_LOADER方式加载数据

当数据源为文本或其它csv文件时&#xff0c;oracle可通过使用外部表加载数据方式&#xff0c;不需要导入可直接查询文件内的数据。 1、如下有一个文件名为&#xff1a;test1.txt 的数据文件。数据文件内容为&#xff1a; 2、使用sys授权hr用户可读写 DATA_PUMP_DIR 目录权限&a…

探索未来:元宇宙与Web3的无限可能

随着科技的奇迹般发展&#xff0c;互联网已经成为了我们生活的不可分割的一部分。然而&#xff0c;尽管它的便利性和普及性带来了巨大的影响&#xff0c;但我们仍然面临着传统互联网体验的诸多限制。 购物需要不断在实体店与电商平台间切换&#xff0c;教育依然受制于时间与地…

Unity如何把游戏导出成手机安装包

文章目录 前言使用环境步骤添加场景构建APK 前言 本文章主要演示了&#xff0c;如何将制作好的游戏&#xff0c;导出成APK&#xff0c;安装到手机上。 使用环境 Unity2022。 步骤 首先打开你的项目&#xff0c;然后选择菜单栏的“File” > “Build Settings…”&#xf…

QMainwindow窗口

QMainwindow窗口 菜单栏在二级菜单中输入中文的方法给菜单栏添加相应的动作使用QMenu类的API方法添加菜单项分隔符也是QAction类 工具栏添加工具栏在状态栏中添加控件工具栏添加其他类型的工具工具栏的属性添加多个工具栏使用窗口添加使用代码添加 状态栏常用API在状态栏显示信…

NeuralNLP-NeuralClassifier的使用记录(一),训练预测自己的【英文文本多分类】

NeuralNLP-NeuralClassifier的使用记录&#xff0c;训练预测自己的英文文本多分类 NeuralNLP-NeuralClassifier是腾讯开发的一个多层多分类应用工具&#xff0c;支持的任务包括&#xff0c;文本分类中的二分类、多分类、多标签&#xff0c;以及层次多标签分类。支持的文本编码…

C语言库函数之 qsort 讲解、使用及模拟实现

引入 我们在学习排序的时候&#xff0c;第一个接触到的应该都是冒泡排序&#xff0c;我们先来复习一下冒泡排序的代码&#xff0c;来作为一个铺垫和引入。 代码如下&#xff1a; #include<stdio.h>void bubble_sort(int *arr, int sz) {int i 0;for (i 0; i < sz…

面试热题(最大子数组和)

给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 输入&#xff1a;nums [-2,1,-3,4,-1,2,1,-5,4] 输出&#xff1a;6 解释&#xff1a;连续…

免费批量ppt转pdf?一个方法教你完美转换

随着科技的不断发展&#xff0c;电子文档的使用越来越普遍。在商业、教育和个人领域&#xff0c;我们经常需要将PPT文件转换为PDF格式&#xff0c;以便更方便地共享和存档。幸运的是&#xff0c;现在有许多在线工具和软件可以帮助我们轻松地完成免费批量ppt转pdf。下面将介绍一…

【Linux】模拟实现linux的shell

#include <stdio.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #include <sys/wait.h> #include <sys/types.h> #define NUM 1024 #define SIZE 32 #define SEP " " int main() {//保存输入后的字符串char …

Blazor前后端框架Known-V1.2.12

V1.2.12 Known是基于C#和Blazor开发的前后端分离快速开发框架&#xff0c;开箱即用&#xff0c;跨平台&#xff0c;一处代码&#xff0c;多处运行。 Gitee&#xff1a; https://gitee.com/known/KnownGithub&#xff1a;https://github.com/known/Known 概述 基于C#和Blazo…

Pyinstaller 打包 django 项目如何将命令行参数加入?

起因 Pyinstaller 打包 django 项目&#xff0c;打包成 manage.exe 后用命令行 cmd manage.exe runserver 0.0.0.0:8001 --noreload 来运行感觉很不方便。 希望能够直接把命令行参数也打包进去&#xff0c;直接运行 exe 。我走了些弯路&#xff0c;但最终实现了。 弯路 我看…

Redis之删除策略

文章目录 前言一、过期数据二、数据删除策略2.1定时删除2.2惰性删除2.3 定期删除2.4 删除策略比对 三、逐出算法3.1影响数据逐出的相关配置 总结 前言 Redis的常用删除策略 一、过期数据 Redis是一种内存级数据库&#xff0c;所有数据均存放在内存中&#xff0c;内存中的数据可…

web基础入门和PHP语言基础入门 一

web基础入门和php语言基础入门 一 WEB简介与HTTP入门WEB简介HTTP 简介HTTP 请求报文&#xff1a;请求方法&#xff1a;请求头部&#xff1a;&#xff08;常见的请求头&#xff09;HTTP 响应报文&#xff1a;响应状态码&#xff1a;Cookie HTML入门学习什么是HTML什么是标记语言…

PHP入门基础教程 - 专栏导读

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;全栈领域新星创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责…

Floyd算法

正如我们所知道的&#xff0c;Floyd算法用于求最短路径。Floyd算法可以说是Warshall算法的扩展&#xff0c;三个for循环就可以解决问题&#xff0c;所以它的时间复杂度为O(n^3)。 Floyd算法的基本思想如下&#xff1a;从任意节点A到任意节点B的最短路径不外乎2种可能&#xff…

openGauss学习笔记-42 openGauss 高级数据管理-触发器

文章目录 openGauss学习笔记-42 openGauss 高级数据管理-触发器42.1 语法格式42.2 参数说明42.3 示例 openGauss学习笔记-42 openGauss 高级数据管理-触发器 触发器会在指定的数据库事件发生时自动执行函数。 42.1 语法格式 创建触发器 CREATE TRIGGER trigger_name { BEFORE…