Git使用记录 - 持续更新

git,使用,记录,持续,更新 · 浏览次数 : 75

小编点评

The error message indicates that the SSH tunnel cannot be established due to a firewall issue. The possible solutions are: **Solution 1:** Use HTTPS instead of SSH. This is because the SSH port (22) is blocked by the firewall, and HTTPS uses port 443 instead. **Solution 2:** Change the port for the SSH connection to a port that is not blocked by the firewall. You can use the `-T -p` flag with the `ssh` command to specify the port. For example: ``` ssh -T -p 443 git@ssh.github.com ``` **Additional Tips:** * Ensure that the SSH key you are using is valid and has the correct permissions. * Verify that the remote repository exists and has the necessary permissions. * Check if the firewall is blocking the SSH port. * If you are using a proxy server, ensure that it is configured to allow SSH connections.

正文

本地生成 sshkey

  1. 打开git命令工具
    cd ~/.ssh
    ssh-keygen -t rsa -C "实际的eamil地址"
    ···
    // 一路回车,出现以下则说明成功
    Your identification has been saved in C:\Users\Administrator/.ssh/id_rsa
    Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub
    ···
    
  2. 复制 id_rsa.pub 内的内容,粘贴至远程 git 网站设置。

本地切换远程仓库地址

  1. git remote -v 查看本地远程仓库地址
  2. git remote rm origin 删除本地仓库地址
  3. git remote -v 查看本地仓库地址是否删除
  4. git remote add origin xxx 添加新的远程仓库地址,xxx为新的远程仓库地址
  5. git remote -v 查看本地更新的仓库地址是否已经生效

将本地项目关联到远程仓库

有两种办法:
一. clone 项目到本地,然后将本地项目内的文件复制过去,add 后推送到远程
二. 合并两个项目

  1. 本地项目初始化一个git仓库,并将文件加到新建的git仓库中。如果本地项目已经是一个git仓库了,请跳过这一步。
    git init
    git add .
    git commit -m "commit first project"
    
  2. 添加新的远程仓库地址,可先通过 git remote -v 查看本地是否有仓库地址,没有的话直接添加,有的话通过 git remote rm origin 删除。
    git remote add origin xxx
    

    建议远程地址,使用 SSH 地址,因为使用 https 地址时遇到一些鉴权问题。形如 git@github.com:xxx/xxx.git

  3. 拉取下远程内容,注意 github 目前主分支名称已由 master 修改为 main
    git pull origin main
    
    如果含有共同文件时需要:
    git merge origin/main
    
  4. 把本地库的所有内容推送到远程库上
    git push -u origin main
    

本地分支名称修改

提交代码时,遇见以下错误

error: src refspec main does not match any.
error: failed to push some refs to 'xxx.git'

查了下,是本地分支名称和远程仓库不匹配,通过以下方式修改

git branch -m "原名称" "想要推送的远程分支名称"

原名称 可以通过 git branch 查询。

修改SSH链接端口

拉取 github 的代码时,出现错误

> git pull --tags origin main
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

原因:拉取方式采用的 SSH,然后22端口被防火墙屏蔽了,或者被科学network工具纂改了DNS解析。
解决方案一:使用https协议;
解决方案二:修改端口为443:

  1. 命令行执行 ssh -T -p 443 git@ssh.github.com,测试443端口是否可用,示例如下:
    PS C:\Users\Administrator> ssh -T -p 443 git@ssh.github.com
    The authenticity of host '[ssh.github.com]:443 ([20.205.243.160]:443)' can't be established.
    ED25519 key fingerprint is SHA256:+***************************
    This host key is known by the following other names/addresses:
    	C:\Users\Administrator/.ssh/known_hosts:1: github.com
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '[ssh.github.com]:443' (ED25519) to the list of known hosts.
    Hi weizwz! You've successfully authenticated, but GitHub does not provide shell access.
    
  2. ~/.ssh/config 文件里添加如下内容,如果没有 config 文件,则新建一个
    # Add section below to it
    Host github.com
      Hostname ssh.github.com
      Port 443
    
    然后重新 pull 代码,则恢复正常

fatal detected dubious ownership in repository at 解决办法

重装系统后,执行原来仓库下文件时报错

fatal: detected dubious ownership in repository at 'xxxxx'

原因:git新的权限安全策略导致的报错,可以按提示把目录添加到信任列表

git config --global --add safe.directory "*"

LF will be replaced by CRLF 警告

背景:
CR为回车符,LF为换行符。Windows结束一行用CRLF,Mac和Linux用LF。
core.autocrlf:
false表示取消自动转换功能。适合纯Windows;
true表示提交代码时把CRLF转换成LF,签出时LF转换成CRLF。适合多平台协作;
input表示提交时把CRLF转换成LF,检出时不转换。适合纯Linux或Mac

单人项目:设置 git config --global core.autocrlf false,关闭提示即可;
多人协作,确定是结尾用CRLF还是LF,然后将统一转换。

与Git使用记录 - 持续更新相似的内容:

Git使用记录 - 持续更新

本地生成 sshkey 打开git命令工具cd ~/.ssh ssh-keygen -t rsa -C "实际的eamil地址" ··· // 一路回车,出现以下则说明成功 Your identification has been saved in C:\Users\Administrator/.s

Git开发、发布、缺陷分离模型概述(支持master/develop/feature/release/hotfix类型分支)

Git是什么? Git是一种分布式版本控制系统,它可以记录文件的修改历史和版本变化,并可以支持多人协同开发。Git最初是由Linux开发者Linus Torvalds创建的,它具有高效、灵活、稳定等优点,如今已成为软件开发领域中最流行的版本控制系统之一。Git使用一种名为“仓库”的数据结构来保存代码

记录一次WhatTheFuck经历

起因 很早之前就一直在维护一个git仓库,平时调研什么组件就会在里面新建一个springboot的工程用来编写示例代码。 最一开始使用的是SpringInitializr,后来网站更新之后,只能生成JDK17+的工程,WhatTheFuck?近期刚从8切换到11. 于是弃用并改用 StartAliy

GitHub SSH 快速配置

每次更换系统或者电脑时,都需要重新配置一番 Github SSH 的验证,记性不太好,写了一个快速部署的辅助脚本,直接安装脚本提示使用即可,经测试,Linux 和 Windows 下均能使用。 脚本功能 设置 Git 用户名和邮箱 脚本会提示用户输入 Git 用户名和邮箱,并将其设置为全局配置。 生

在开发过程中使用git rebase还是git merge,优缺点分别是什么?

前言 在开发过程中,git rebase 和 git merge 都是常见的代码合并命令。它们都能够将分支代码合并到主分支,并且都有各自的优缺点。 git merge git merge 是一种将两个或多个分支合并的方法。它的优点是简单、直观且非常容易使用。使用 git merge 执行合并操作会生

git实战

最近公司又来一批小伙伴,对git的使用非常陌生,我就安排给大家讲了下git的基本使用,今天也总结下发到博客园上和大家分享 一、git安装 由于公司都是用windows,本屌丝也是用windows,所有这里就只讲windows的安装 windows的安装非常简单 1、下载git:https://git

利用Git+GitHub进行团队协作开发

自己之前写过两篇关于Git和GItHub使用的文章,分别是 浅谈使用git 进行版本控制博客链接:https://www.cnblogs.com/wj-1314/p/7992543.html 使用GitHub的点点滴滴的博客链接:https://www.cnblogs.com/wj-1314/p/9

国产大语言模型ChatGLM3本地搭建、使用和功能扩展

1、官网 ChatGLM3 2、下载ChatGLM3源码 直接在https://github.com/THUDM/ChatGLM3,下载源码 3、下载模型 如果显卡8G一下建议下载ChatGLM3-6B,ModelScope是国内的,下载比较快 用下面两种方式都可以下载 使用git在MadelSco

Git Cherry-pick使用

## 概述 无论项目大小,当你和一群程序员一起工作时,处理多个 Git 分支之间的变更都会变得很困难。有时,与其把整个 Git 分支合并到另一个分支,不如选择并移动几个特定的提交。这个过程被称为 "挑拣", 即 Cherry-pick。 本文将介绍 "Cherry-pick" 的内容、原因和方法。

如何使用 Terraform 和 Git 分支有效管理多环境?

> 作者|Sumeet Ninawe > 翻译|Seal软件 > 链接|https://spacelift.io/blog/terraform-environments 通常我们使用 Terraform 将我们的基础设施定义为代码,然后用 Terraform CLI 在我们选择的云平台中创建制定的基