gitfuku62
@gitfuku62 (fuku 62)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

GIt branchを切り替えられない問題(.DS_Store)

Q&A

Closed

GIt .DS_Storeについて (mac)

ローカル環境ででmasterブランチから枝分かれさせたprocブランチにブランチを切り替える方法。

例)
gitでbranchの学習をしています。
procブランチを作り masterブランチのポインター(HEAD)を一つ進めてprocブランチに切り替えようとしたらエラーが発生しました。
ブランチの切り替えができません。
解決方法を教えて下さい。

発生している問題・エラー

username@MacBook-Pro-2 sports % git checkout proc
error: Your local changes to the following files would be overwritten by checkout:
	.DS_Store
Please commit your changes or stash them before you switch branches.
Aborting

例)

username@MacBook-Pro-2 sports % git status       
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   .DS_Store

no changes added to commit (use "git add" and/or "git commit -a")

自分で試したこと

  • プロジェクトの作り直し
  • .DS_Storeとは何かについて
  • 他のサイトを見て試しましたが、前提知識がないため解読不可
0

2Answer

他のサイトを見て試しましたが、前提知識がないため解読不可

これは試したというより丸投げな気がしますが…

軽く調べてみたところ、MacOSだと「DS_Store」なるファイルが
存在するんですね。(自分はWinユーザなので知りませんでした)

肝心の問題ですが、
作業ツリーにコミットされていないファイル「DS_Store」があるから
Please commit your changes or stash them before you switch branches.
の通り、変更が加えられているファイルを
commitするかstash
退避してからブランチを切り替えるように言われています。

ファイル自体を追跡しないように.gitignoreに記述してしまうのが
良いような気がします。

以下を参考に実施してみてはいかがでしょうか。

Gitのエラー文に関する参考記事

4Like

Comments

  1. @gitfuku62

    Questioner

    ご回答いただき誠にありがとうございます。
    1つ目のURLの中にある vim ~/.config/git/ignore を開くことはできるのですが、保存して終了することができません。
    以下 エラー内容
    "~/.config/git/ignore" E212: Can't open file for writing

    保存するにはどうしたら良いでしょうか。
  2. 問題解決できたようでなによりです。
    エディタのエラー自体は、存在しないパスを指定しているから出ています。

    コマンドの意味を理解しないで実行すると、
    恐ろしい目にあう危険性もありますので、
    なぜ「E212: Can't open file for writing」が出たのか、
    うまくいった時の記事は何が違うのか、等も
    併せて理解することをお勧めします。

Your answer might help someone💌