簡體   English   中英

JGit 稀疏結帳不斷添加文件

[英]JGit sparse checkout keeps adding files

在 Java 中,我正在使用JGit使用遠程存儲庫執行一些操作。 但是,當我在版本之間按順序進行稀疏結帳時:

checkout.
  setCreateBranch(false).
  setName(tag).
  addPath("server/scripts/").
  setStartPoint(tag);

它保留最后一個結帳文件並添加新文件。 只有當目錄中的文件名不同時才會發生這種情況。 以這種方式使用 checkout 命令時如何避免這種情況?

我想刪除正在結帳的文件夾內的文件(在這種情況下是腳本),但是我不知道當“下載”的文件具有相同名稱時是否會帶來沖突。

首先請注意setCreateBranch()默認為 false ,因此無需顯式調用setCreateBranch( false )

此外,您不能混合使用addPath()setName() addPath()的 JavaDoc 說:

如果設置了此選項,則既不考慮 setCreateBranch(boolean) 也不考慮 setName(String) 選項。 換句話說,這些選項是排他的。

但是,我不確定您看到的行為是否正確。 有疑問,請使用命令行 git 檢查它是否顯示相同的結果,如果 JGit 不同,則提交錯誤報告

要解決孤立文件,您可以使用StatusCommand手動刪除所有未跟蹤的文件:

Status status = git.status().call();
for( String fileName : status.getUntracked() ) {
  // delete fileName
}

暫無
暫無

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

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