Help us understand the problem. What is going on with this article?

git pull した際の unable to unlink old エラーを解決

症状

git pull をした際に
error: unable to unlink old 'ファイル名'
となり、git status で確認するとリモートから持ってきた他人の修正ファイル等が
自分の modifiedファイルUntrackedファイル となっていた。

原因

試しに ls -la ファイル名 で確認してみると、
ファイルの所有者とグループが root になっており
現在ログインしているユーザ名と異なっていた。

多分、前にrootでpull等の作業を行ったためだと思われる。

解決

pullしてしまったファイル等を削除してしまう

今回の場合、自分の作業ファイルとしてpullしてしまっているようで git reset 等は使えなそうだったので以下の方法を使いました。
※何か他に良い方法があれば教えてください
別にログに拘らないのであれば一度全てステージしてcommitしても良いのかなーと思いました。

作業ファイルを取り消す

//全て取り消したいなら
git checkout .

//特定のファイルのみ
git checkout ファイルパス

追跡対象外のファイルを削除

//削除対象となるファイル一覧が表示
git clean -n

//全て削除していいなら
git clean -f

//特定のファイルだけ削除したいなら
git clean -f ファイルパス

試していないのですが、特定のファイルだけ の時に
あまりにも対象ファイルの方が多い場合は
git stash -p で作業ファイルを一時的に退避させるってのもできるかもしれない。

unable to unlink oldとなってるファイルの所有者とグループを変更する

'root' にログイン

su -

ファイルの所有者を変更

sudo chown ユーザ名 -R ファイルパス

ファイルのグループを変更

sudo chgrp ユーザ名 -R ファイルパス

作業ディレクトリ内を全て変更しても構わないかもしれない

cd  作業ディレクトリ
sudo chown -R ユーザ名 ./
sudo chgrp -R グループ名 ./

pullる

//ex.
git pull origin master
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした