当前位置: 首页 > news >正文

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. https://gitlab.cn/install/
  2. Gitea
  3. Gitee
  4. Gogs
  5. Gitblit

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

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

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

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

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

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

相关文章:

  • 【数据分析】通过个体和遗址层面的遗传相关性网络分析
  • 前端面试题-异步任务队列控制
  • 叠焊和平面焊
  • Mongoose 详解
  • 小米路由器开启SSH,配置阿里云ddns,开启外网访问SSH和WEB管理界面
  • Page Assist - 本地Deepseek模型 Web UI 的安装和使用
  • Spring Cloud 服务调用 Feign
  • C++:iterator迭代器失效
  • c++播放音频
  • top命令输出内容详解
  • 【设计模式】【创建型模式】建造者模式(Builder)
  • FreeRTOS-rust 编译分析
  • 【C++】实现一个JSON解析器
  • ubuntu上如何查看coredump文件默认保存在哪个路径?
  • 【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑲】
  • Xilinx FPGA工程移植步骤---包含软核工程
  • LeetCode刷题---哈希表---215
  • Jedis 客户端 用于java连接redis服务
  • Vue3 打造 Windows 桌面个性高效组件工具
  • git clone
  • 福田网站建设设计/免费发布信息的平台有哪些
  • 注册公司网站怎么收费/东莞关键词排名推广
  • 阿里云建网站流程/友情链接交换
  • 哪个网站可以做创意短视频/百度指数工具
  • 做网站学不需要做后台管理系统/图片在线转外链
  • 做网站应该会什么问题/全国各城市疫情高峰感染进度