我是一个新手git和GitHub用户。我一直在使用GitHub for windows一段时间,但想学习如何在我想要改进的repo上分叉和提交pull请求时尝试更多的命令行。
我所看到的是,“上游”似乎是由无法使用的,我想知道发生了什么。我想这将是一个问题,当我想要求我的更改被拉入上游存储库时。
我在GitHub上分叉the repository,然后将其克隆到我的电脑上:
git clone https://github.com/mrwweb/CPT-Descriptions.git
然后我进入了新的存储库并尝试添加Forking Tutorial上列出的上游:
git remote add upstream https://github.com/vanpop/CPT-Descriptions.git
这给了我错误:
致命:远程上游已经存在。
当我尝试:git fetch upstream
时,我明白了:
致命:'upstream'似乎不是git存储库
致命:无法读取远程存储库。
请确保您拥有正确的访问权限并且存储库已存在。
我已经读过其他线程,建议编辑我的git配置文件但是没有提到上游:
[芯]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[遥远的“原产地”]
url = https://github.com/mrwweb/CPT-Descriptions.git
fetch = + refs / heads / :refs / remotes / origin /
[branch“master”]
remote = origin
merge = refs / heads / master
最后,当我尝试git remote -v
时,我得到了这个:
origin https://github.com/mrwweb/CPT-Descriptions.git(fetch)
origin https://github.com/mrwweb/CPT-Descriptions.git(推送)
上游
=======================
更新:添加git config -l
的结果:
core.symlinks = false core.autocrlf = true core.editor = gitpad
color.diff = auto color.status = auto color.branch = auto
color.interactive = true color.ui = true pack.packsizelimit = 2g
help.format = html http.sslcainfo = / bin / curl-ca-bundle.crt
sendemail.smtpserver = / bin中/ msmtp.exe
diff.astextplain.textconv = astextplain rebase.autosquash = true
credential.helper =!github --credentials filter.ghcleansmudge.clean = cat
filter.ghcleansmudge.smudge = cat push.default = upstream
alias.dt = difftool alias.mt = mergetool diff.tool = vs11
difftool.prompt = false difftool.bc4.cmd =“c:/ program files(x86)/ beyond
比较3 / bcomp.exe“”$ LOCAL“”$ REMOTE“difftool.p4.cmd =”c:/ program
files / Perforce / p4merge.exe“”$ LOCAL“”$ REMOTE“
difftool.vs11.cmd =“c:/ program files(x86)/ microsoft visual studio
11.0 / common7 / i de / devenv.exe“'// diff'”$ LOCAL“”$ REMOTE“merge.tool = bc3 mergetool.prompt = false mergetool.keepbackup = false
mergetool.bc3.cmd =“c:/ program files(x86)/ beyond than 3 / bcomp.exe”
“$ LOCAL”“$ REMOTE”“$ BASE”“$ MERGED”mergetool.bc3.trustexitcode = true
mergetool.p4.cmd =“c:/ program files / Perforce / p4merge.exe”“$ BASE”
“$ LOCAL”“$ REMO TE”“$ MERGED”mergetool.p4.trustexitcode = false
remote.origin.fetch = +参/头/ :参/遥控器/来源/
remote.origin.fetch = +参/拉/ /头:参/遥控器/来源/ PR /
remote.upstream.fetch = +参/头/ :参/遥控器/上行/
remote.upstream.fetch = +参/拉/ /头:参/遥控器/上行/ PR /
user.name = mrwweb user.email=info@mrwweb.com core.autocrlf = true
core.repositoryformatversion = 0 core.filemode = false core.bare = false
core.logallrefupdates = true core.symlinks = false core.ignorecase = true
core.hidedotfiles = dotGitOnly
remote.origin.url = https://github.com/mrwweb/CPT-Descriptions.git
remote.origin.fetch = +参/头/ :参/遥控器/来源/
branch.master.remote = origin branch.master.merge = refs / heads / master
答案 0 :(得分:2)
这对我来说很好。不知何故,你有一个空白的上游遥控器。
在git目录中运行:
git remote rm upstream
然后再次添加上游:
git remote add upstream https://github.com/vanpop/CPT-Descriptions.git
答案 1 :(得分:2)
经过大量的故障排除(谢谢@alex_sf)我认为问题是GitHub for Windows。我正在使用GitHub for Windows提供的posh~git shell,我相信这两件事之一就是为我的环境设置了全局配置。
回到GitHub for Windows自己的文档后,我发现了这个:
GitHub for Windows不支持多个Git遥控器,它只能用于原始遥控器。
我认为这解释了:(