簡體   English   中英

使用補丁跟蹤GIT中的主開發

[英]Tracking master development in GIT with patches

我遇到以下情況:

  1. 有一個開源項目(AT91B)在git下維護,定期發布。
  2. 在3.7.0版本中,該項目由ACME克隆並進行修改。
  3. AT91B已更新並發布更多版本
  4. ACME不主動跟蹤AT91B。
  5. 現在AT91B是3.7.1
  6. 我有權訪問(我可以“git clone”)兩個git repos。

我需要的是一個補丁 (或一組補丁,如果有必要)應用於AT91B-3.7.1 tarball來集成ACME變化(由幾個新文件組成,並對現有文件進行一些小調整)。

我明白這應該是相當標准的git東西(我不知道git非常好,只是基本的東西;合並仍然不在我的雷達,但我想我將不得不學習)。 問題是我需要使用tarball(原始版本)+補丁(如果需要,可以在家中構建)。

我如何制作這樣的補丁[套裝]?

更新

我嘗試使用git format-patch -M -B -C -k --stdout refs/remotes/origin/at91bootstrap-3.x >my.patch ,但這並不好,因為它為每個文件生成多個條目(顯然是一個對於每個提交)然后patch使用導致多個拒絕(IIRC僅第一次成功)。

如何“壓扁”補丁?

記錄:它比預期的簡單得多。 我真的不明白,為什么它是如此difficoult挖掘出信息( 非常感謝@Rob迪馬爾科(參見: https://stackoverflow.com/a/616851/1714490 )。

解決方案是使用“git diff”; 在我的情況下:

git diff -M -B -C refs/remotes/origin/at91bootstrap-3.x >whatever.patch

當然,你必須處理任何沖突,但這是標准程序。

暫無
暫無

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

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