Henry Henry
  • JavaScript
  • TypeScript
  • Vue
  • ElementUI
  • React
  • HTML
  • CSS
  • 技术文档
  • GitHub 技巧
  • Nodejs
  • Chrome
  • VSCode
  • Other
  • Mac
  • Windows
  • Linux
  • Vim
  • VSCode
  • Chrome
  • iTerm
  • Mac
  • Obsidian
  • lazygit
  • Vim 技巧
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue 资源
GitHub (opens new window)

Henry

小学生中的前端大佬
  • JavaScript
  • TypeScript
  • Vue
  • ElementUI
  • React
  • HTML
  • CSS
  • 技术文档
  • GitHub 技巧
  • Nodejs
  • Chrome
  • VSCode
  • Other
  • Mac
  • Windows
  • Linux
  • Vim
  • VSCode
  • Chrome
  • iTerm
  • Mac
  • Obsidian
  • lazygit
  • Vim 技巧
  • 分类
  • 标签
  • 归档
  • 网站
  • 资源
  • Vue 资源
GitHub (opens new window)
  • 技术文档

  • GitHub

    • git 基本指令
    • Git 指令记录
    • git 常见问题
      • remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
        • 方法一:
        • 方法二:
      • git 中 fatal: Authentication failed 的问题
        • 方法一:
        • 方法二: 打开控制面板 >> 用户账户 >> 凭据管理器 >> Windows 凭据 >> 删除对应的 git 凭据
        • 方法三:
      • git pull 报错: Auto Merge Failed; Fix Conflicts and Then Commit the Result.
        • 出错场景
        • 原因分析
        • 解决方法
      • git warning: LF will be replaced by CRLF in 解决办法
        • 出错场景
        • 原因分析
        • 解决方法
      • nothing added to commit but untracked files present
        • 问题
        • 解决方案
      • fatal: Not possible to fast-forward, aborting.
    • 如何科学使用 GitHub 服务
    • git 本地分支和远程分支建立映射关系
  • Nodejs

  • Chrome

  • VSCode

  • VSCode 更新文档

  • Other

  • 技术
  • GitHub
Henry
2017-02-21
目录

git 常见问题

收集 git 常见问题

# remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

翻译:远程:对密码身份验证的支持已于 2021 年 8 月 13 日删除。请改用个人访问令牌。

这是由于 GitHub 目前已不支持密码形式通过命令行操作了,改成访问令牌的形式了

所以我们需要先生成一个个人访问令牌并复制

具体操作可以查看官方文档:Creating a personal access token - GitHub Docs (opens new window)

接下来就需要将密码更新为令牌了

# 方法一:

mac: 在钥匙串应用中,右上角查找 github, 在结果中双击 github.com, 勾选显示密码,用复制的令牌替换原来的密码,搞定

或者右键删除,再执行 push 时需要输入用户名和密码,用户名就是 GiuHub 的用户名,密码就是复制的令牌

windows: 打开控制面板 >> 用户账户 >> 凭据管理器 >> Windows 凭据 >> 删除对应的 git 凭据 (opens new window)

# 方法二:

在本地更新来源的 URL: git remote set-url origin https://<token>@<git_url>.git

拉取一次: git pull https://<token>@<git_url>.git

git - Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead - Stack Overflow (opens new window)

# git 中 fatal: Authentication failed 的问题

# 方法一:

$  git config --global --replace-all user.email "输入你的邮箱"
$  git config --global --replace-all user.name "输入你的用户名"
1
2

这个方法在 mac 上行的通,但是如果是 windows 好像不太好使

# 方法二: 打开控制面板 >> 用户账户 >> 凭据管理器 >> Windows 凭据 >> 删除对应的 git 凭据 (opens new window)

# 方法三:

git config --system --unset credential.helper

# git pull 报错: Auto Merge Failed; Fix Conflicts and Then Commit the Result.

# 出错场景

协同开发时,我们从远程服务器上 pull 下代码的时候,出现以下提示信息:

Auto Merge Failed; Fix Conflicts and Then Commit the Result.

# 原因分析

分析 git pull 的原理,实际上 git pull 是分了两步走的:

  1. 从远程 pull 下 origin/master 分支
  2. 将远程的 origin/master 分支与本地 master 分支进行合并

以上的错误,是出在了第二步,本地与远程文件合并时存在冲突

# 解决方法

方法一:如果我们确定远程的分支正好是我们需要的,而本地的分支上的修改比较陈旧或者不正确,那么可以直接丢弃本地分支内容,运行如下命令 (看需要决定是否需要运行 git fetch 取得远程分支):

$: git reset --hard origin/master
# 或者
$: git reset --hard ORIG_HEAD
1
2
3

方法二:我们不能丢弃本地修改,因为其中的某些内容的确是我们需要的,此时需要对 unmerged 的文件进行手动修改,删掉其中冲突的部分,然后运行如下命令:

$: git add filename
$: git commit -m "message"
$: git push origin master
1
2
3

方法三:如果我们觉得合并以后的文件内容比较混乱,想要废弃这次合并,回到合并之前的状态,那么可以运行如下命令:

$: git reset --hard HEAD

# git warning: LF will be replaced by CRLF in 解决办法

# 出错场景

在使用 git 的时候,每次执行

$: git add "目录"

或者

$: git add .

都会提示这样一个警告消息:

warning: LF will be replaced by CRLF in XXXXXXXXXXXXXX.

# 原因分析

CRLF -- Carriage-Return Line-Feed 回车换行,就是回车 (CR, ASCII 13, \r) 换行 (LF, ASCII 10, \n). 这两个 ACSII 字符不会在屏幕有任何输出,但在 Windows 中广泛使用来标识一行的结束。而在 Linux/UNIX 系统中只有换行符。

也就是说在 windows 中的换行符为: CRLF, 而在 linux 下的换行符为: LF

使用 git 来生成一个 rails 工程后,文件中的换行符为 LF, 当执行 git add . 时,系统提示: LF 将被转换成 CRLF

# 解决方法

删除生成的 .git 文件

$: rm -rf .git
$: git config --gobal core.autocrlf false
1
2

这样系统就不会去进行换行符的转换了

最后重新执行

$: git init
$: git add .
1
2

但我在实践中发现:直接运行 $ git config --gobal core.autocrlf false , 不用删除生成的 .git 文件也可以,当然也不用执行 git init

# nothing added to commit but untracked files present

# 问题

Untracked files:
../target/
../zblog.iml
nothing added to commit but untracked files present
1
2
3
4

大致的意思是说文件被追踪,但是没有被添加 git 中。

# 解决方案

# 1. 不想提交文件

添加 git 忽略文件 .gitignore

将不想提交的文件写入到 .gitignore 文件中。记得要把 .gitignore 也添加进来

主要步骤:

  1. git status 列出当前目录所有还没有被 git 管理的文件和被 git 管理且被修改但还未提交 (git commit) 的文件。

    $ git status
    On branch master
    Your branch is up-to-date with 'origin/master'.
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            /target/
            zblog.iml
    nothing added to commit but untracked files present (use "git add" to track)
    
    1
    2
    3
    4
    5
    6
    7
    8
  2. 将要忽略的文件写入到 .gitignore

    vim .gitignore

    追加如下内容(根据自己的提示添加)

    /target/
    zblog.iml
    
    1
    2

PS: 注意实际路径可以用 * 模糊操作

# 2. 想提交文件

  1. git status 列出当前目录所有还没有被 git 管理的文件和被 git 管理且被修改但还未提交 (git commit) 的文件。

    $ git status
    On branch master
    Your branch is up-to-date with 'origin/master'.
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            /target/
            zblog.iml
    nothing added to commit but untracked files present (use "git add" to track)
    
    1
    2
    3
    4
    5
    6
    7
    8
  2. 将这些文件或文件夹 add 进去

    git add /target/.
    git add zblog.iml
    
    1
    2

PS: git add 一次可以添加多个文件,如: git add a.html b.html c.html

# fatal: Not possible to fast-forward, aborting.

使用命令:git pull --rebase

git - Fatal: Not possible to fast-forward, aborting - Stack Overflow (opens new window)

编辑 (opens new window)
#Git
上次更新: 5/27/2023, 1:02:05 PM
Git 指令记录
如何科学使用 GitHub 服务

← Git 指令记录 如何科学使用 GitHub 服务→

最近更新
01
version 1.15
07-01
02
version 1.14
06-27
03
version 1.13
06-27
更多文章>
Theme by Vdoing | Copyright © 2017-2023 HenryTSZ | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式