3
我有一個腳本,如果我忘記在我的每個40+存儲庫上提交或推送一些代碼,則會通過電子郵件向我發送提醒信息。關於多個遠程存儲庫的Git狀態
隨着我的項目2個,我遵循了這些帖子,在那裏我有建立「混帳推」推到多個信息庫的答案:
所以我有一個的.git/config文件:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[branch "master"]
remote = origin
merge = refs/heads/master
[remote "origin"]
url = https://www.example.com/git/project/
url = [email protected]:username/project.git
[remote "example"]
url = https://www.example.com/git/project/
fetch = +refs/heads/*:refs/remotes/example/*
[remote "github"]
url = [email protected]:username/project.git
fetch = +refs/heads/*:refs/remotes/github/*
這對於做git push/pull有效。
隨着我已經使用這個腳本:
git status --short
但是這隻能說明未COMMITED變化......即使沒有「--short」標誌,它並沒有顯示什麼,通常只有1個遠程顯示:
Your branch is ahead of 'origin/master' by 1 commit.
試圖運行下列任何「差異」也似乎並沒有命令工作...好它的第一次,但似乎記得遠程文件的日期/時間當它被設置時,爲了做出更多的改變,它將它們與歷史上的該版本進行比較:
git diff --name-status "origin";
git diff --name-status "origin/master";
git diff --name-status "example/master";
git diff --name-status "github/master";
有什麼想法?我對Git相當陌生。
你的意思是什麼?當你做出更多的改變時,將它與歷史版本進行比較?當然它會比較你當前的承諾版本。而且,由於您推送到遙控器,因此不會顯示任何差異(遙控器和HEAD指向相同的提交),除非您有未提交的更改。 – knittl 2012-07-27 09:10:24
你確定你不會忘記不時地運行'git fetch --all'嗎? – fork0 2012-07-27 09:26:31
@knittl,@ fork0我已經完成了'git fetch --all'(沒有文件被拉回來)......當我運行'git diff --name-status「origin時它仍然說我修改了文件,即使在這種情況下,我已經提交併推送了所有更改...似乎是說這些文件與文件不同,因爲它們是當我第一次配置這些多個遠程(基本上這些文件被修改相比,遠程服務器上個月有)。 – 2012-07-27 10:41:26