git常用指令及bug解决(更新自用)

server/2024/10/16 2:23:17/

目录

  • 一、基本指令
    • 1、下载指定分支内容
    • 2、分支相关
    • 3、在指定分支上提交更改后的最新代码
    • 4、git对比两份代码的差异
      • (1)对比本地代码和对应的远程代码差异
      • (2)对比两个不同仓库代码的差异
  • 二、报错解决
    • 1、git pull报错

一、基本指令

1、下载指定分支内容

git clone -b branchname https://git.***.com/your/path/***.git

2、分支相关

(1)查看目前所在分支

git branch

(2)查看远程所有分支及状态

git branch -a

(3)切换分支

git checkout branch_name

(4)删除远程分支
一般删除远程分支同时也要删除本地分支,分别运行一下命令:

git branch -d branchname

3、在指定分支上提交更改后的最新代码

(1)首先查看本低与远程代码状态,是否有修改

git status

如果没有任何改变,则会看到

nothing to commit, working directory clean

如果有改变建议先查看一下本地代码和远程有哪些差异,使用difftool工具:

git difftool

挨个打开查看与远程库中的差异,右侧是本低自己的代码,左侧是远端代码,更改后保存关闭即可。
(2)确认所有代码修改的部分并保存后,开始提交,首先确认索要提交到的分支,按照(1)中命令查看或者切换到想要到的分支,比如我想提交到master分支,则分别执行如下代码:

git branch //查看当前所在分支是不是自己想要提交的
git checkout master //如果不是,切换到所需的分支

(3)添加所要提交的文件到缓存

git add . //添加所有文件
git add filename.*** //添加部分文件
git add flodername//添加整个文件夹

(4)写提交的信息,就是本次提交修改了什么或者原因,类似于备注

git commit -m "备注信息"

(5)提交缓存中所有的代码和备注信息到远程仓库

git push origin yourbranchname

这里面origin意思是推送本低代码到远程端同名的分支下,如果远程端不存在同名分支则会自动创建这个分支,所以一定要确认你当前所在的文件夹是在想要提交的分支下,而且origin后面的分支名要写对,否则会导致远端新建分支,弄乱git库。

git_58">4、git对比两份代码的差异

(1)对比本地代码和对应的远程代码差异

git difftool

使用这个工具需要安装一下相关的库

(2)对比两个不同仓库代码的差异

首先,将两个仓库repo1,repo2都克隆到本地电脑上(两个文件夹,可以为不同路径),可以使用git clone命令(地址去github clone里面粘贴):

git clone -b branchA https://git.***.com/your/path/***.git
git clone -b branchB https://git.***.com/your/path/***.git

然后,进入其中一个仓库的目录,使用git remote -v可以看到对应的origin拉区地址。

origin	https://github.com/***.git (fetch)
origin	https://github.com/***.git (push)

使用git remote add命令将另一个仓库添加为远程仓库(只不过这个远程仓库并不是github上的地址,而是另一个仓库所在的本地文件夹的路径)。

cd /path/to/repo1
git remote add repo2 /path/to/repo2

这个repo2 可以是原本仓库的名字,也可以自己另外起一个名字,只是用来对比,对比结束可以删除。
添加完成后,利用git remote -v可以发现,原本只有本文件夹下程序的远程地址,现在添加上了另一个库文件夹的地址。

origin	https://github.com/***.git (fetch)
origin	https://github.com/***.git (push)
repo2	/path/to/filename (fetch)
repo2	/path/to/filename (push)

再使用git fetch命令从远程仓库中获取最新的提交信息。

git fetch repo2

这时可以看到更新后的信息和对应的分支信息,能够看到新加入的branch为: * [new branch] your_repostory_btanch_name -> repo2/your_repostory_btanch_name

最后,使用git diff命令来比较两个仓库之间的差异。

git diff HEAD repo2/your_repostory_branch_name

其中,HEAD表示当前仓库的最新提交,repo2/your_repostory_btanch_name表示另一个仓库的分支。这个命令将会输出两个仓库之间的差异信息。

二、报错解决

git_pull_101">1、git pull报错

解决过程:
git pull拉取最新的代码报错

fatal: unable to access '*****': Failed connect to github.com:443; Connection refused

首先查看拉取地址:git remote -v

origin	https://github.com/***.git (fetch)
origin	https://github.com/***.git (push)

(1)看到目前是http方式下载的,有人说可以转换另一种下载方式,尝试转换ssh下载:

git remote set-url https://github.com/***.git

再用git remote -v查看发现已经转换完成:

origin	git@github.com:***.git (fetch)
origin	git@github.com:***.git (push)

重新git pull拉取,继续报错:

ssh_exchange_identification: read: Connection reset by peer
fatal: Could not read from remote repository.Please make sure you have the correct access rights
and the repository exists.

(2)尝试重启或更改代理:

git config --global http.proxy 
git config --global https.proxy

没有任何反应
网上还有很多解决办法,可以一一尝试,因为我的代码远端没有更新,目前解决到这就算了


http://www.ppmy.cn/server/49044.html

相关文章

广东启动“粤企质量提升工作会议” 着力提升产品和服务质量

6月5日,由广东质量峰会组委会牵头,联合相关质量、信用、打假和检验检测等部门共同举办的“粤企质量提升工作会议”在广州正式启动。本次工作会议旨在贯彻落实《质量强国建设纲要》及《广东省质量强省建设纲要》精神,深入开展全民质量行动,弘扬企业家和工匠精神,营造政府重视质量…

[C#]使用C#部署yolov10的目标检测tensorrt模型

【测试通过环境】 win10 x64vs2019 cuda11.7cudnn8.8.0 TensorRT-8.6.1.6 opencvsharp4.9.0 .NET Framework4.7.2 NVIDIA GeForce RTX 2070 Super cuda和tensorrt版本和上述环境版本不一样的需要重新编译TensorRtExtern.dll,TensorRtExtern源码地址:T…

在 Ubuntu 上取消登录密码和锁屏功能的简易指南

你可以使用终端命令来直接设置取消登录密码和锁屏功能。以下是具体步骤: 取消登录密码 打开终端。编辑 /etc/gdm3/custom.conf 文件:sudo nano /etc/gdm3/custom.conf在 [daemon] 部分下,添加或修改以下行:AutomaticLoginEnable…

【Python】数据处理:SQLite操作

使用 Python 与 SQLite 进行交互非常方便。SQLite 是一个轻量级的关系数据库,Python 标准库中包含一个名为 sqlite3 的模块,可以直接使用。 import sqlite3数据库连接和管理 连接到 SQLite 数据库。如果数据库文件不存在,则创建一个新数据库…

python中装饰器的用法

最近发现装饰器是一个非常有意思的东西,很高级! 允许你在不修改函数或类的源代码的情况下,为它们添加额外的功能或修改它们的行为。装饰器本质上是一个接受函数作为参数的可调用对象(通常是函数或类),并返…

[数据集][目标检测]足球场足球运动员身份识别足球裁判员数据集VOC+YOLO格式312张4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):312 标注数量(xml文件个数):312 标注数量(txt文件个数):312 标注类别…

课设--学生成绩管理系统

欢迎来到 Papicatch的博客 文章目录 🍉技术核心 🍉引言 🍈标识 🍈背景 🍈项目概述 🍈 文档概述 🍉可行性分析的前提 🍈项目的要求 🍈项目的目标 🍈…

LLMs,即大型语言模型

LLMs,即大型语言模型,是一类基于深度学习的人工智能模型,它们通过海量的数据和大量的计算资源进行训练,可以理解和生成自然语言。LLMs的核心架构是Transformer,其关键在于自注意力机制,使得模型能够同时对…