Git命令行入门

诸神缄默不语-个人CSDN博文目录

之前写过一篇VSCode + Git的博文:VSCode上的Git使用手记(持续更新ing…)

现在随着开发经历增加,感觉用到命令行之类复杂功能的机会越来越多了,所以我专门再写一篇Git命令行的文章。

Git官网:https://git-scm.com/

Git下载和安装过程挺简单的,我下次再在新电脑上安Git的时候再专门写一篇博文。

在正常使用Git之前需要先配置用户名和邮箱:

git config --global user.name "您的用户名"
git config --global user.email "您的邮箱"

Git命令可以在cmd中执行,也可以在Git bash中执行。跟cmd一样,直接在文件浏览器地址栏输入git bash就能在打开该路径下的Git bash。
我个人的体验是Git bash比cmd好用。

文章目录

  • 1. 初始化Git项目
  • 2. Git工作流程
    • 1. 本地
    • 2. 远程
  • 3. 搭建本地Git服务器流程
  • 4. Off-the-shelf Git服务器
  • 5. 忽略当前文件夹中的指定文件:.gitignore
  • 5. 修改Git bash文本编码格式

1. 初始化Git项目

git init:运行后就会开始版本管理这个文件夹

2. Git工作流程

1. 本地

  1. 将修改的文件加到缓存区(stage):git add
  2. 将缓存区文件放回去:git reset
    回退到指定commit id之前版本的仓库:git reset --hard <指定commit_id>
  3. 从缓存区提交文件到本地仓库:git commit

2. 远程

GitHub上处理私有仓库需要配置秘钥,这部分可参考:https://blog.csdn.net/PolarisRisingWar/article/details/144669022

  1. 添加远程仓库:git remote add <远程仓库名> <仓库URL>
    origin是远程仓库的默认名称
  2. 修改远程仓库URL:git remote set-url <远程仓库名> <新仓库URL>
  3. 从远程仓库拉取代码版本到本地并进行合并:git pull
    这个代码实际上是两步:
    1. git fetch:从远程仓库拉取代码版本(就是知道一下远程有什么本地没有的东西)
    2. git merge:将远程仓库的代码版本合并到本地仓库
    3. 合并二进制文件冲突的问题可参考我写的另一篇博文来解决:https://blog.csdn.net/PolarisRisingWar/article/details/138790764
  4. git push <远程仓库名> <branch>:把本地代码推送到远程仓库
    示例:git push origin master
  5. git clone:将Git服务器管理的仓库直接拉到本地
    用SSH克隆的教程可参考我写的另一篇博文:https://blog.csdn.net/PolarisRisingWar/article/details/132713802
  6. 设置代理(主要是用于GitHub):
    git config --global http.proxy IPv4地址:7890
    git config --global https.proxy IPv4地址:7890
    
  7. 删除代理:
    git config --global --unset http.proxy
    git config --global --unset https.proxy
    

3. 搭建本地Git服务器流程

因为普通的仓库有工作目录,不适合直接作为服务器接收push,所以需要设置一个裸仓库(bare repository)。
裸仓库没有工作目录,更适合作为中央仓库。
用一个空文件夹作为裸仓库:git init --bare D:\proj1_bare.git

如果出现如下报错信息:

'git-receive-pack' 不是内部或外部命令,也不是可运行的程序或批处理文件。

将Git安装路径中的Git\mingw64\bin(即git-receive-pack.exe文件所处的文件夹)的路径添加到系统变量Path中。添加系统变量这事我好像在Java安装之类的博文里面写好几遍了,此略。

我之前本来想研究一下搭建远程服务器的,但是一直没搞出来,总之如果在本地的话直接就可以:
在本地仓库中:git remote add bare_repo D:\proj1_bare.git 添加远程仓库
在其他文件夹中就可以正常实现各种Git远程仓库的相关功能了:git clone D:\proj1_bare.git

4. Off-the-shelf Git服务器

  1. Git Daemon
  2. https://gitlab.cn/install/
  3. Gitea
  4. Gitee
  5. Gogs
  6. Gitblit
  7. https://gitstack.com/:Windows服务器

5. 忽略当前文件夹中的指定文件:.gitignore

就是新建一个文本文件,命名为.gitignore,在里面写的文件/文件夹就不会被Git追踪。

我之前专门写过.gitignore文件的教程:Git的.gitignore文件详解与常见用法

5. 修改Git bash文本编码格式

当出现中文乱码的时候会用得到的:

  1. 在git bash标题栏右键,点击Options
    在这里插入图片描述
  2. 进入Text,Character Set选择GBK:在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【时时三省】(C语言基础)用N-S流程图表示算法

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 N-S流程图 既然用基本结构的顺序组合可以表示任何复杂的算法结构&#xff0c;那么&#xff0c;基本结构之间的流程线就是多余的了。1973年&#xff0c;美国学者I.Nassi和B .Shneiderman提出…

单元测试junit5

一、idea 安装自动化生成插件jcode5 安装可能不成功&#xff0c;尝试多次安装&#xff1b; 安装成功后&#xff0c;重启idea&#xff0c;再次确认安装是否成功&#xff1b; 二、在需要生成单元测试代码的模块的pom中引入依赖 ......<parent><groupId>org.springf…

Matlab写入点云数据到Rosbag

最近有需要读取一个点云并做处理后&#xff0c;重新写回rosbag。网上有很多读取的教程&#xff0c;但没有写入。自己写入时也遇到了很多麻烦&#xff0c;踩了一堆坑进行记录。 1. rosbag中一个lidar的msg有哪些信息&#xff1f; 通过如下代码&#xff0c;先读取一个rosbag的l…

c++标准io与线程,互斥锁

封装一个 File 类&#xff0c; 用有私有成员 File* fp 实现以下功能 File f "文件名" 要求打开该文件 f.write(string str) 要求将str数据写入文件中 string str f.read(int size) 从文件中读取最多size个字节&#xff0c; 并将读取到的数据返回 析构函数 #…

springboot-ffmpeg-m3u8-convertor nplayer视频播放弹幕效果

学习链接 ffmpeg-cli-wrapper - 内部封装了操作ffmpeg命令的java类库&#xff0c;它提供了一些类和方法&#xff0c;可以方便地构建和执行 ffmpeg 命令&#xff0c;而不需要直接操作字符串或进程。并且支持异步执行和进度监听 springboot-ffmpeg-m3u8-convertor - gitee代码 …

在做题中学习(90):螺旋矩阵II

解法&#xff1a;模拟 思路&#xff1a;创建相同大小的一个二维数组&#xff08;矩阵&#xff09;&#xff0c;用变量标记原矩阵的行数和列数&#xff0c;每次遍历完一行或一列&#xff0c;相应行/列数--&#xff0c;进行对应位置的赋值即可。此题是正方形矩阵&#xff0c;因此…

FreeRTOS任务调度介绍

FreeRTOS 操作系统支持三种调度方式:抢占式调度,时间片调度和合作式调度。 实际应用主要是抢占式调度和时间片调度,合作式调度用到的很少 (1)抢占式调度 每个任务都有不同的优先级,任务会一直运行直到被高优先级任务抢占或者遇到阻塞式的 API 函数,比如vTaskDelay,执…

微信小程序image组件mode属性详解

今天学习微信小程序开发的image组件&#xff0c;mode属性的属性值不少&#xff0c;一开始有点整不明白。后来从网上下载了一张图片&#xff0c;把每个属性都试验了一番&#xff0c;总算明白了。现总结归纳如下&#xff1a; 1.使用scaleToFill。这是mode的默认值&#xff0c;sc…

关于Unity的一些基础知识点汇总

1.Prefab实例化后&#xff0c;哪些资源是共用的&#xff1f;哪些资源是拷贝的&#xff1f; 共用资源 脚本组件&#xff1a;实例化后的 Prefab 共享脚本组件的代码。若脚本中无状态数据&#xff0c;多个实例对脚本方法的调用会有相同逻辑。比如一个控制物体移动的脚本&#xff0…

React之旅-02 创建项目

创建React项目&#xff0c;常用的方式有两种&#xff1a; 官方提供的脚手架&#xff0c;官网&#xff1a;https://create-react-app.dev/。如需创建名为 my-app 的项目&#xff0c;请运行如下命令&#xff1a; npx create-react-app my-app 使用Vite包&#xff0c;官网&…

Cursor实战:Web版背单词应用开发演示

Cursor实战&#xff1a;Web版背单词应用开发演示 需求分析自行编写需求文档借助Cursor生成需求文档 前端UI设计后端开发项目结构环境参数数据库设计安装Python依赖运行应用 前端代码修改测试前端界面 测试数据生成功能测试Bug修复 总结 在上一篇《Cursor AI编程助手不完全指南》…

【JavaEE进阶】Spring MVC(3)

欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗 如有错误&#xff0c;欢迎指出~ 返回响应 返回静态页面 //RestController Controller RequestMapping("/response") public class ResponseController {RequestMapping("/returnHtmlPage&…

文本操作基础知识:正则表达式

目录 摘要&#xff1a; 一、语法 二、匹配模式pattern 1、普通字符[ ] 2、限定字符 3、定位字符 4、运算字符( ) 三、修饰符flags 四、各语言的正则使用 1、Python的re 参考资料&#xff1a; 摘要&#xff1a; 常用匹配&#xff1a;[A-C]、[^A-C]、\w、\d、\n、\r、…

ROS-相机话题-获取图像-颜色目标识别与定位-目标跟随-人脸检测

文章目录 相机话题获取图像颜色目标识别与定位目标跟随人脸检测 相机话题 启动仿真 roslaunch wpr_simulation wpb_stage_robocup.launch rostopic hz /kinect2/qhd/image_color_rect/camera/image_raw&#xff1a;原始的、未经处理的图像数据。 /camera/image_rect&#xff…

Ubuntu USB耳机找不到设备解决

​ 一. 确定硬件连接 lsusb -t 插拔USB耳机&#xff0c;确定是否有USB识别到 二. 查看输出设备 sudo apt-get install pavucontrol pavucontrol 点击想要使用的输出设备后面的绿色选项 三. 输出设备没有USB耳机时调试 3.1 确认ALSA是否识别设备 列出ALSA播放设备&#…

深入解析「卡顿帧堆栈」 | UWA GPM 2.0 技术细节与常见问题

在游戏开发过程中&#xff0c;卡顿问题一直是影响玩家体验的关键因素。UWA GPM 2.0全新推出的「卡顿帧堆栈」功能&#xff0c;专为研发团队提供精准、高效的卡顿分析方案&#xff0c;能够直观呈现游戏运行时的堆栈信息&#xff0c;助力团队迅速找到性能瓶颈。该功能一经上线&am…

Web3.py 入门笔记

Web3.py 学习笔记 &#x1f4da; 1. Web3.py 简介 &#x1f31f; Web3.py 是一个 Python 库&#xff0c;用于与以太坊区块链进行交互。它就像是连接 Python 程序和以太坊网络的桥梁。 官方文档 1.1 主要功能 查询区块链数据&#xff08;余额、交易等&#xff09;发送交易与…

点击unity资源文件自动展开左侧的文件路径

背景&#xff1a; 最近从cocos那边转过来的unity同事总是吐糟我们unity选中一个资源后都无法清晰的看到他的文件路径&#xff0c;这给他的工作带来了很多的烦恼&#xff0c;于是我想到昨天刚看到一个unity编辑器下的简易协程实现&#xff0c;通过2个接口Selection.activeObjec…

几种查询本机公网IP的方式

英文网站 bgp.he.net 链接地址:https://bgp.he.net/ bgp.he.net是一个在线工具平台,主要用于查询IP的路由信息,特别是与BGP(边界网关协议)相关的信息。 以下是对bgp.he.net的详细介绍: 一、平台功能 BGP查询:用户可以通过输入IP地址,查询该IP的BGP路由信息,包括AS号…

每日一题——编辑距离

编辑距离 参考资料题目描述示例 解题思路动态规划&#xff08;DP&#xff09;方法 代码实现复杂度分析示例详解示例1&#xff1a;"nowcoder" → "new"示例2&#xff1a;"intention" → "execution" 总结与心得 参考资料 建议先参考下…