git: 記一次push的錯誤,印象深刻

南郭竽發表於2018-05-25

**錯誤日誌:packet_write_wait: Connection to 52.74.223.119 port 22: Broken pipe
fatal: The remote end hung up unexpectedly
**

之前的操作步驟(導致錯誤的操作步驟)

  1. 本地建立了一個 git倉庫,通過 git init命令建立的。然後裡面新增了幾個文字檔案,這些檔案加起來大小不超過30K,但是.git/目錄有25M。這是前提。
  2. github上面建立了一個倉庫,
    然後我通過執行 git remote add origin url的方式將本地倉庫關聯到github上面。
  3. 然後執行git push origin master:master。(這一步正常。因為本地master分支沒有改動)
  4. 執行git checkout dev; git push -u origin dev:dev ,一直報錯,報錯也就是下面的錯誤。
packet_write_wait: Connection to 52.74.223.119 port 22: Broken pipe
fatal: The remote end hung up unexpectedly

我看網上的部落格都是說檔案過大,但是我的倉庫裡面除了.git/之外,其他的檔案加起來不到30k,顯然並不大。
不過,為什麼我push 的時候,會輸出Writing objects: 82% (14/17), 4.45 MiB | 2.00 KiB/s

不對,直覺告訴我,這大概是也要上傳.git/才會這樣子。

但是我不死心,按照網上的方式配置了git config,不過並沒有作用。因為還是出現一樣的錯誤了。(我還特意重啟了terminal


解決方案:

pwd # ~/localRepo
cd ../
mv localRepo lllocal
git clone url localRepo
cd localRepo
git checkout -b dev
cp -r ../lllocal/src .

git add .
git commit -m "xxx"
git push -u origin dev:dev

總結,如果是上傳程式碼到github,最好是在github上面先建倉庫,然後 clone到本地,本地的程式碼就再這個clone下來的目錄裡面增加修改刪除。最後也在這個目錄下面提交。這樣就不會有奇怪的問題了。

ps: 這個問題導致我打了兩個晚上的農藥,一行程式碼沒寫。……

相關文章