【git】解决网络连接问题

ssh: connect to host github.com port 22: Connection timed out

$ 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 [email protected]
ssh: connect to host github.com port 22: Connection timed out

$ # but this might work
$ ssh -T -p 443 [email protected]
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 [email protected]
Hi xxxxx! You’ve successfully authenticated, but GitHub does not
provide shell access.

fatal: The current branch master has no upstream branch

$  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 会自动设置默认分支(通常是 mastermain)的上游分支指向远程仓库中的相应分支。但如果您在本地创建了一个新的分支并希望推送到远程仓库,Git 需要知道这个本地分支应该关联到远程仓库中的哪个分支。在没有明确指定的情况下,Git 不会自动假设或创建一个远程分支,因此会显示这个错误,提示您需要明确设置上游分支。

  1. git push --set-upstream origin master
    1. 推送当前分支到远程仓库:它将 master 分支的内容推送到远程仓库(在这个案例中是名为 origin 的远程仓库)。
    2. 设置上游分支:它将远程仓库中的 master 分支设置为当前本地分支的上游分支。这样做之后,将来您在 master 分支上运行 git pushgit pull 时,Git 将知道该与哪个远程分支交互,而无需您再次指定。
  2. 自动为没有追踪上游的分支设置上游分支,可以配置 push.default 设置。
    1. git config --global push.default current
    2. 推送一个没有追踪上游的本地分支时,Git 将自动在远程仓库中创建同名的分支,并建立追踪关系。

你可能感兴趣的:(debug,生产环境,git)