Git
推送有效,但遠端儲存庫沒有更改
我在 /var/www/example.com/html 目錄中的 Debian Stretch 伺服器上託管了一個 git 伺服器。
如果我首先通過在 Windows 10 本地電腦上執行此操作複製 git repo,我可以將文件推送到本地電腦上的此伺服器:
C:\Users\User\Desktop\AnotherRepoTest\test>git clone git@IP_Of_Remote_server:/var/www/example.com/html/repo.git Cloning into 'repo'... git@IP_Of_Remote_server's password: remote: Counting objects: 20, done. Receiving objects: 100% (20/20), 2.30 KiB | 1.15 MiB/s, done. remote: Compressing objects: 75% (9/12) Resolving deltas: 100% (4/4), done. remote: Compressing objects: 100% (12/12), done. remote: Total 20 (delta 4), reused 0 (delta 0) C:\Users\User\Desktop\AnotherRepoTest\test>
這有效,它從 repo 獲取文件,但是如果我創建一個新文件然後將該文件推送到 master 分支,遠端伺服器將不會在遠端 repo 目錄中顯示這個新文件。
C:\Users\User\Desktop\AnotherRepoTest\test>cd repo C:\Users\User\Desktop\AnotherRepoTest\test\repo>echo "Hello, world." > AddThisFile.txt C:\Users\User\Desktop\AnotherRepoTest\test\repo>git add --all C:\Users\User\Desktop\AnotherRepoTest\test\repo>git commit -m "New Commit" [master e5a21b6] New Commit 1 file changed, 1 insertion(+) create mode 100644 AddThisFile.txt C:\Users\User\Desktop\AnotherRepoTest\test\repo>git push -u origin master git@IP_Of_Remote_server's password: Enumerating objects: 4, done. Counting objects: 100% (4/4), done. Delta compression using up to 8 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 292 bytes | 292.00 KiB/s, done. Total 3 (delta 1), reused 0 (delta 0) To IP_Of_Remote_server:/var/www/example.com/html/repo.git 78da987..e5a21b6 master -> master Branch 'master' set up to track remote branch 'master' from 'origin'. C:\Users\User\Desktop\AnotherRepoTest\test\repo>
如您所見,一切都按預期進行。現在,如果我們檢查遠端伺服器 repo 目錄,這個新的文本文件不會添加到 /var/www/example.com/html/
但是如果我在本地機器上的另一個文件夾中再次複製 repo,這個文本文件將被複製。
所以問題是我無法在遠端目錄上找到這個文件。即使我跑步:
root@ohwell:/var/www# locate AddThisFile.txt root@ohwell:/var/www#
我只給了 git 使用者 git-shell 訪問權限,並且對 /var/www 目錄具有正確的權限。我什至重新啟動了伺服器以查看是否有更改,但沒有運氣。為什麼我無法在遠端伺服器上找到這個文件?我錯過了什麼?
我按照這些教程設置了一個裸倉庫:
https://www.linux.com/learn/how-run-your-own-git-server
https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server
- 定位使用可能不會更新的數據庫
- 在將更改推送到儲存庫後,您需要讓伺服器以某種方式拉取更改。