犯了一個低級錯誤:
server ip: 192.168.40.41
有一個git賬戶
所有的git倉庫都在/home/git倉庫下
比如/home/git/u-boot-2018.07-fmxx.git
我用了以下命令:
git clone 192.168.40.41:/home/git/u-boot-2018.07-fmxx.git
改過一些東西后,發現git push不上去
而且git clone時候輸入的是我的賬戶密碼,並不是git的密碼
然后讓同事幫忙看了一下:
git remote -v
origin 192.168.40.41:/home/git/u-boot-2018.07-fmxx.git (fetch)
origin 192.168.40.41:/home/git/u-boot-2018.07-fmxx.git (push)
git remote -h
可以顯示命令的用法。
git remote set-url [--push] <name> <newurl> [<oldurl>]
git remote set-url origin git@192.168.40.41:/home/git/u-boot-2018.07-fmxx.git/
就是將<name>為origin的的新url設置為git@192.168.40.41:/home/git/u-boot-2018.07-fmxx.git/
所以git@192.168.40.41:/home/git/u-boot-2018.07-fmxx.git/的意思是:
git表示git用戶,意思就是git用戶艾特在192.168.40.41上,目錄/home/git/u-boot-2018.07-fmxx.git/下的倉庫。
這時候push pull 都是git的密碼了,能成功。
我又新建了一個倉庫,/home/zhangyi/tmp
git init --bare #建立了一個裸倉庫
git clone 192.168.40.41:/home/zhangyi/tmp
#這樣可以push 因為是同一個用戶吧,后來用其他用戶git clone 不加zhangyi@,出現了不能push的錯誤
error: remote unpack failed: unable to create temporary object directory
To 192.168.40.41:/home/zhangyi/tmp
! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to '192.168.40.41:/home/zhangyi/tmp'
git remote -v
origin 192.168.40.41:/home/zhangyi/tmp (fetch)
origin 192.168.40.41:/home/zhangyi/tmp (push)
在其他用戶下
git clone zhangyi@192.168.40.41:/home/zhangyi/tmp
需要輸入zhangyi的密碼,可以正常push pull。