git 操作常见错误及解决方式---(实战性总结)

文章目录

      • 1.GitBash 配置到WebStorm中
      • 2.解决git pull/git push 每次都要输入用户名密码的问题
      • 3.Git操作fatal: Authentication failed for 'http://********
      • 4.error: could not lock config file C:/Program Files/Git/mingw64/etc/gitconfig: Permission denied
      • 5.RPC failed; HTTP 411 curl 22 The requested URL returned error: 411 Pushing to "http://……"
      • 6.fatal: not a git repository (or any of the parent directories): .git
      • 7.There is no tracking information for the current branch.Please specify which branch you want to merge with.
      • fatal: 'origin' does not appear to be a git repository
      • 8.fatal: branch 'master' does not exist

1.GitBash 配置到WebStorm中

File–>settings–>Tools–>Terminal
更改Shell Path中cmd.exe为sh.exe的路径

注意:这里的路径是sh.exe的路径不是gitbash.exe的路径

"C:\Program Files\Git\bin\sh.exe" --login -i

git 操作常见错误及解决方式---(实战性总结)_第1张图片

2.解决git pull/git push 每次都要输入用户名密码的问题

出现这个问题的原因是git clone下载代码时候的链接是https://而不是git@git(ssh)的形式,当我们操作git pull/push到远程的时候,总是提示我们输入账号和密码才能操作成功。
解决方法:在项目目录下执行

git config --global credential.helper store

这个操作会在你本地生成一个文本,上边记录你的账号和密码然后你使用上述的命令配置好之后,再操作一次git pull,然后它会提示你输入账号密码,这一次之后就不需要再次输入密码了。

3.Git操作fatal: Authentication failed for 'http://********

身份验证失败,且不弹出用户名密码问题解决:执行以下命令清除用户名密码缓存

git config --system --unset credential.helper

4.error: could not lock config file C:/Program Files/Git/mingw64/etc/gitconfig: Permission denied

出现Permission denied这种情况应该在管理员权限下运行
打开PowerShell 运行

git config --system --unset credential.helper

5.RPC failed; HTTP 411 curl 22 The requested URL returned error: 411 Pushing to “http://……”

错误原因:git 通过http post的大小有限制
解决方式git config http.postBuffer 524288000 设置上传的最大数据量为50MB

6.fatal: not a git repository (or any of the parent directories): .git

错误原因:git clone远程项目到本地后执行其它git命令如git add .,提示当前的操作目录中没有.git文件,也就是说当前并不一个Git上的远程仓库目录,所以Git命令设置无效。
解决办法:输入git init命令,它可以创建一个全新的空仓库,或者将已经存在的项目纳入版本管理。

7.There is no tracking information for the current branch.Please specify which branch you want to merge with.

错误原因:在执行git pull命令的时候提示当前分支没有跟踪信息
解决方法
 1.直接指定远程分支
 git pull remote branch如git pull origin master
 2.另外一种方法就是先指定本地master到远程的master,然再去pullgit branch --set-upstream-to=remote/branch master如git branch --set-upstream-to=origin/master master

fatal: ‘origin’ does not appear to be a git repository

fatal: Could not read from remote repository.
错误原因:当运行 git clone ~~来克隆存储库时,将自动创建默认的远程起点。 如果存储库是由 git init 创建的,那么就没有remote,也没有 origin,需要自己设置。
解决方法:执行git remote add origin
Repo url 是要与其交换数据的现有远程存储库的路径。 如果它位于本地磁盘,它可以是 file: / / home / me / foo。 Git or / home / me / foo. 饭桶。 如果它是在 Github 上托管的,那么它可以是 https://Github.com/me/foo.git 或者 ssh: / / git@ Github.com/me/foo.git。
参考答案

8.fatal: branch ‘master’ does not exist

错误原因:
1.本地创建一个本地仓库
2.关联远程端:
 git remote add origin [email protected]:用户名/远程库名.git
3.同步远程仓库到本地
 git pull这个时候会报错If you wish to set tracking information for this branch you can do so with: git branch --set-upstream-to=origin/ master
 再按提示执行
git branch --set-upstream-to=origin/master master
 继续报错
fatal: branch 'master' does not exist
原因:本地仓没有在master上所以报错了
解决方法:
 在本地仓切换到master,git checkout master那么刚刚同步的文件就出来了这里实际远程端的其他分支也同步了下来的了,但是git branch 不会展示出来直接 git checkout 分支名 就可以直接切过去了这里如果 使用 git clone [email protected]:用户名/ --克隆远程仓 那么master 和分支都会展示出来。实际: 试了也是一样的 git branch 也是看不到 分支,但是实际也是下载下来了。

你可能感兴趣的:(前端开发需要掌握的知识点)