簡體   English   中英

git推送到裸存儲庫然后拉不工作

[英]git push to bare repository then pull dont work

我有托管給我ssh訪問。

我創建了裸存儲庫。 我在離開工作之前推動的地方。 但是當我從那里拉出變化時它就無法正常工作了。

nerkn@nerkn-laptop ~/www/project $ git push
Everything up-to-date

配置是:

nerkn@nerkn-laptop ~/www/project $ git config -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=ssh://user@domain.com/~/project.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

然后家用電腦:

nerkn@nerkn-desktop /var/www/project $ git pull
Already up-to-date.


nerkn@nerkn-desktop /var/www/project $ git config -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
remote.origin.url=ssh://usre@domain.com/~/project.git
branch.master.remote=origin
branch.master.merge=refs/heads/master
gui.wmstate=normal
gui.geometry=962x330+284+384 207 192

如果每件事情都是最新的並且已經達到最新狀態那么為什么它們會有所不同? 我如何使用此設置。 我應該打開它們兩個同步,沒有我的托管ssh訪問的幫助?

由於您在沒有任何其他參數的情況下使用git push ,因此很難分辨出您在筆記本電腦和台式機上的哪個分支。 如果您只在master分支中工作,那么git push應該可以工作,因為您位於遠程源分支中。 但是,如果您在另一個分支中,很可能是以默認方式創建它,這會創建一個本地分支。 然后,您需要使用git push origin mybranchname將該分支顯式推送到repo(或將您的更改合並到另一個分支,可能是主分支)。

PS偉大的Matthew Mccullough在過去的NFJS上展示了一個很好的bash提示設置來顯示git狀態,包括當前的分支和臟狀態。 我在這里有一個調整版本https://gist.github.com/235332 ,這是馬修的要點。 跟蹤您所在的分支可能會派上用場。

您在運行git config時看到的git config存儲在本地,每個存儲庫,它不在存儲庫之間共享(因此它不會被推送到服務器,也不會被拉下來;它完全在本地管理)。 您的配置包含如何管理存儲庫的設置,這些設置可能需要在不同的計算機上不同,甚至可能需要在同一台計算機上的不同存儲庫中進行設置,因此Git不會管理存儲庫配置的內容,也不會在存儲庫之間共享它。

為了查看兩個存儲庫之間正在更新的文件,在一個文件中創建或編輯文件,使用git add filename ,使用git commit ,然后按下。 從其他存儲庫中提取時,應該會看到新的或更新的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM