![](/img/trans.png)
[英]Batch File to Loop Through Remote Git Branches and Copy a Similar CSV File in Each Branch to a Local Directory
[英]Batch file that will delete all local branches (git) in each subfolder of a directory
這是我的要求:
對於第2項,以下語句在子文件夾中手動執行時有效。
git branch | grep -v " master" | xargs git branch -D
我想創建一個批處理文件,該文件將在每個子文件夾中執行上述語句。
我嘗試了以下操作,但無法使其正常工作。 請幫助我確定該語句出了什么問題。
FOR /D %%G in ("C:\parent\*") Do (echo Updating %%G ...) && (cd %%G) && git branch | grep -v " master" | xargs git branch -D
在每個子文件夾中,刪除除master分支以外的所有本地分支。
那不是Git的工作方式。 這對於Subversion而不是Git可能有意義。
刪除分支后,該分支將用於所有存儲庫,而不用於子文件夾。
唯一可以刪除Git repo子文件夾中的分支的情況是,如果該子文件夾是根文件夾,則為子模塊 。
另外,您可以考慮使用-d
而不是-D
,以避免刪除未完全合並的分支。 請參閱“是否可以刪除除當前分支機構以外的所有本地分支機構? ”。
感謝您的所有幫助。
原來我遇到以下錯誤:
'grep' is not recognized as an internal or extenal command.
我沒有看到它,因為我通過雙擊它來執行批處理文件,然后將顯示命令提示符並立即關閉,因此我錯過了錯誤消息。
無論如何,當我使用Git bash執行它時,具有上述內容的批處理文件可以按預期工作。
請注意,這僅出於維護目的,假設我只需要master分支並且所有本地分支都已合並。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.