iT邦幫忙

0

請問 Git 分支內檔案的問題

  • 分享至 

  • xImage

如果我在 01 分支新增了檔案 aaa.txt,
然後切換到 main 分支,
此時在 Windows 資料夾內就看不到 aaa.txt,
可是 aaa.txt 應該還在 Windows 系統內,
只是被 Git 隱藏起來了,
但我怎麼在 Windows 內都搜尋不到該檔案了呢?

請先了解一下GIT。
不存在分支的檔案。本來就不會被找到。
因為它是被封存在 git 庫上的。
並不是你認為的「隱藏」起來
DennisLu iT邦好手 1 級 ‧ 2023-09-04 22:33:06 檢舉
git是版控啊,
當01存在aaa.txt main不存在aaa.txt,
當我切換main要跑main的程式目錄有01才有的檔案很奇怪吧...
你確定01的東西沒問題,又想要main也有,就合併到main就好了...


藉機吐苦水,跟不同人維護同一個專案,其他人總是git add -A,
把自己的垃圾也一起帶入專案內,看到垃圾...眼睛好痛。
這到是可以給你一招。
我常常協助這些人刪除垃圾。
然後直接另外COMMIT " 清除掉 XXXX 留下來的垃圾檔案"
我自已的則另外建COMMIT另傳。

久而久之。自然就會有人發現為何一堆這鬼東西。
如一直沒發現也沒關係。等下一次總會議提出來並調GIT記錄出來。

我之前用這招後。不久就大家都乖乖的刪掉或是設定勿略清單了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
kunyinglu
iT邦新手 5 級 ‧ 2023-09-05 10:09:45
最佳解答
samjam iT邦新手 3 級 ‧ 2023-09-05 13:11:41 檢舉

您提供的這個文件讓我大概了解了,謝謝!

0
熊熊工程師
iT邦研究生 1 級 ‧ 2023-09-04 11:40:28

在這種情況下,可能是因為 Windows 的搜尋索引尚未更新,導致無法找到新添加的檔案。你可以嘗試以下步驟來解決這個問題:

  1. 手動重新建立搜尋索引

    • 開啟「控制台」。
    • 在控制台中,搜尋「索引選項」並選擇進入。
    • 在「索引選項」視窗中,點擊「進階」按鈕。
    • 在「進階選項」視窗中,切換到「檔案類型」選項卡。
    • 找到你的 Git 儲存庫所在的目錄,確保相應的檔案類型被選中。在這種情況下,你可能需要選中 .txt.git 以確保搜尋可以找到檔案。
    • 點擊「確定」以保存設定。
    • 返回「索引選項」,在一般選項中點擊「重新建立」。
  2. 使用命令列重新建立索引

    • 打開命令提示字元。

    • 在命令提示字元中,使用以下命令重新建立整個 Windows 索引:

      rd /s /q "C:\ProgramData\Microsoft\Search\Data\Applications\Windows"
      rd /s /q "C:\ProgramData\Microsoft\Search\Data\Temp"
      rd /s /q "C:\Users\<YourUsername>\AppData\Local\Packages\Microsoft.Windows.Search_cw5n1h2txyewy\LocalState\AppIconCache"
      
    • 這些命令將刪除 Windows 搜尋索引的相關資料。接下來,你需要重新啟用 Windows 搜尋索引:

      start "Search" /wait searchui
      
    • 這將啟動 Windows 搜尋並開始重建索引。重建過程可能需要一些時間,視系統中的檔案數量而定。

一旦完成上述步驟,Windows 搜尋應該能夠找到你在 Git 分支中新增的檔案。如果問題仍然存在,可能需要等待一段時間,讓 Windows 自動更新索引。

from gpt

samjam iT邦新手 3 級 ‧ 2023-09-05 13:01:56 檢舉

這方式我試了無效,不過還是謝謝您!

0
Annie
iT邦新手 1 級 ‧ 2023-09-04 12:18:02

個人覺得 aaa.txt 是存在於 01 分支中,切換分支後看不到應該很正常,否則版本控制上應該會有點模糊不清、顯示上也會較為複雜?

若是你單純想在 main 分支上查看 01 分支的那個 aaa.txt。
這邊提供一個指令給您嘗試,此語法可以在不切換分支的狀況下、查看該文字檔的內容:

git show [branch-name]:[file-name]

我自己這邊測試如下截圖,其中「This is aaa file.」是那個 aaa.txt 檔案內容:
https://ithelp.ithome.com.tw/upload/images/20230904/201409208QismHFdrg.png

samjam iT邦新手 3 級 ‧ 2023-09-05 13:06:01 檢舉

我是想看看 Git 把檔案藏在 Windows 系統的哪裡。
你提供的指令我試了,可以看到檔案內容。
雖然跟我想要的不一樣,不過還是謝謝您。

0

不是很懂

1.你是想要知道Git是怎麼運作把它隱藏起來的?
2.還是問為什麼看不到那個檔案?

我只能說2的部分,1的部分你可能要查查他怎麼做切換可以使windows顯示如此


01 分支新增了檔案 aaa.txt
切換到 main 分支
此時你並沒有做merge動作,main分支固然是看不到新檔案的

我舉個例

01 分支 你更新了 BB.PDF檔案,此檔案是用來下載查看的
切換到 main 分支

你認為main應該是舊的還是新的BB.PDF? 當然是舊的,沒道理你還沒做合併或更新,就自己更新了吧XD

samjam iT邦新手 3 級 ‧ 2023-09-05 13:08:09 檢舉

2的部分我知道,謝謝您。
我想知道的是 Git 把檔案藏在哪裏。

我要發表回答

立即登入回答