Skip to content

Git

git常见命令

git clone 卡住

解决方法:

  1. 别忘了网址最后的.git
  2. 先Ctrl+C,尝试再跑一次
  3. git config --global http.sslVerify "false"

git推送大型文件

解决方法:缓冲区大小默认是1MB, git config --global http.postBuffer 524288000 修改为500MB

RPC failed; curl 16 Error in the HTTP2 framing layer

解决方法

Failed to connect to github.com port 443 after 133200 ms: Connection timed out

代理问题

远程仓库

  1. 添加远程仓库
    git remote add origin <repository-url> #添加
    git remote set-url origin <new-repository-url> #修改
    
    这里的origin是远程仓库的默认短名称,<repository-url>是你想要连接的远程仓库的URL。

如果有多个远程仓库,可以自定义名称

  1. 列出所有远程仓库

    git remote -v
    
    -v参数表示显示远程仓库的详细信息,包括它们的URL。

  2. 拉取远程仓库的更新并自动合并

git pull origin branch-name
这个命令会从远程仓库的branch-name分支拉取内容并尝试自动合并到当前分支。

  1. 推送本地更改到远程仓库

    git push origin branch-name
    
    将分支branch-name的内容推送到远程仓库。

  2. 推送当前分支的所有本地更改到远程仓库

    git push
    
    如果当前分支与远程分支有跟踪关系,这个命令会默认推送当前分支。

  3. 从远程仓库拉取内容/手动合并:

git fetch origin #拉取,不合并
git merge origin/branch-name

将远程仓库的branch-name分支合并到当前分支。

Github私有仓库配置ssh和pat

这里是 GitHub 两种主流登录方式的简短配置攻略:

1. SSH 方式(推荐:一次配置,永久免密)

最适合长期开发。由于 22 端口常被封锁,建议直接配置 443 端口。

  • 生成密钥:执行 ssh-keygen -t ed25519,一路回车,将 ~/.ssh/id_ed25519.pub 的内容添加到 GitHub 的 SSH Keys 设置中。
  • 修改配置:编辑 ~/.ssh/config 文件,写入以下内容以强制走 443 端口:

    Host github.com
      Hostname ssh.github.com
      Port 443
      User git
    

  • 使用:克隆仓库使用 git@github.com:用户/仓库.git 这种格式。

2. HTTPS 方式(灵活:适合临时或代理环境)

GitHub 已禁用普通密码,必须使用 PAT (Personal Access Token)

  • 获取 Token:在 GitHub [Settings] -> [Developer settings] -> [Tokens (classic)] 中生成一个 Token,勾选 repo 权限并保存生成的字符串
  • 登录使用:有时执行 git push 等命令会弹出登录框:

    • Username: 输入 GitHub 用户名。
    • Password: 粘贴刚才保存的 Token(不要输入你的登录密码)。
  • 持久化:执行 git config --global credential.helper store,下次输入后即可记住 Token,无需重复粘贴。

如何选择? 频繁提交代码首选 SSH;临时在他人电脑上拉取代码或网络环境极度受限时选 HTTPS

杂项

git add .之前查看文件大小,从小到大。避免误添加大文件。可以加上| tail -n 来筛选最大的n个

git ls-files -s | awk '{print $4}' | xargs -d '\n' du -sh | sort -h

Comments