簡體   English   中英

為什么 stash all 命令在命令行(Windows)中不起作用:git --git-dir=c/a.git --work-tree=c/b status -a?

[英]Why stash all command won't work in command line (Windows): git --git-dir=c/a.git --work-tree=c/b status -a?

我正在嘗試參考本文檔https://git-scm.com/docs/git 的git 命令。 如果我在下面的 git 命令中使用stash而不是stash -a ,它工作正常,否則它會顯示下面提到的錯誤消息。 任何人都可以幫助我找到替代方案以使其根據我的需要工作嗎?

我的要求是在我想進行 git pull 之前存儲所有文件,包括未跟蹤的(如果有),我有多個項目,我想為此自動化此任務,因為對於每個項目重復git stash -a ,然后git pull origin master-ci令人頭疼,不知何故我想在git-pull-latest.bat腳本中自動執行此git-pull-latest.bat

嘗試過的 Git 命令:

set MY_REPO=C:\Users\ravibeli\Documents\Projects\GitRepo
set MY_GIT_OPERATION=pull origin master-ci

git --git-dir=%MY_REPO%\demo-service\.git --work-tree=%MY_REPO% stash -a && git --git-dir=%MY_REPO%\demo-service\.git --work-tree=%MY_REPO% %MY_GIT_OPERATION%

錯誤信息:

Ignoring path demo-service/
Saved working directory and index state WIP on poc-branch: 9f625aa18 Merge pull request #1004 in demo-service from ~ravibeli/demo-service:display-message to poc-branch

您可以激活 autostash ,而不是明確地嘗試和自動化存儲:

git config --global pull.rebase true
git config --global rebase.autoStash true

但是,如果您不想在每次拉取時重新設置基礎,並且希望通過常規git pull完成經典的fetch + merge ,則可以使用 Git 2.27 進行設置:

git config --global merge.autostash true

在這兩種情況下, git pull將首先隱藏當前工作樹中正在進行的任何工作。

暫無
暫無

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

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