$ ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
bash: ssh:: command not found
bash: fatal:: command not found
无效
检查网络:
curl -v https://github.com
telnet github.com 443
修改本地config,https://gist.github.com/Tamal/1cc77f88ef3e900aeae65f0e5e504794
解决
$ # This should also timeout
$ ssh -T git@github.com
ssh: connect to host github.com port 22: Connection timed out
$ # but this might work
$ ssh -T -p 443 git@ssh.github.com
Hi xxxx! You’ve successfully authenticated, but GitHub does not provide shell access.
$ # Override SSH settings
$ vim ~/.ssh/config
# Add section below to it
Host github.com
Hostname ssh.github.com
Port 443
$ ssh -T git@github.com
Hi xxxxx! You’ve successfully authenticated, but GitHub does not
provide shell access.
$ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.
尝试推送(push)到远程仓库时,Git 发现当前的分支(在这个案例中是 master
分支)没有设置追踪的上游(upstream)分支。在 Git 中,上游分支是远程仓库中与本地分支相对应的分支,用于跟踪本地和远程之间的差异。
第一次克隆一个仓库时,Git 会自动设置默认分支(通常是 master
或 main
)的上游分支指向远程仓库中的相应分支。但如果您在本地创建了一个新的分支并希望推送到远程仓库,Git 需要知道这个本地分支应该关联到远程仓库中的哪个分支。在没有明确指定的情况下,Git 不会自动假设或创建一个远程分支,因此会显示这个错误,提示您需要明确设置上游分支。
master
分支的内容推送到远程仓库(在这个案例中是名为 origin
的远程仓库)。master
分支设置为当前本地分支的上游分支。这样做之后,将来您在 master
分支上运行 git push
或 git pull
时,Git 将知道该与哪个远程分支交互,而无需您再次指定。push.default
设置。