lotterier
lotterier

Reputation: 97

Git can't track renamed file

I have seen other questions. They says if want to rename file in git, just use git mv.

But I renamed a file just using Mac GUI(select file, enter button, rename). I changed the filefolder Samples/OculusWorldDemo/Bin/Mac/Release/data/ to Samples/OculusWorldDemo/Bin/Mac/Release/dataInUse/ and did some other changes. But I can't add new file folder dataInUse to git.

Here are my command and git response:

    ken@rescomp-14-293006:~/Dropbox/aaRA/杂七杂八相关/OculusSDK$ git status
    On branch changeByIterNum
    Changes not staged for commit:
      (use "git add/rm <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   LibOVR/Lib/Mac/Release/LibOVR.build/build-state.dat
        deleted:    Samples/CommonSrc/data/iris.data3D
        modified:   Samples/LibOVR_With_Samples.xcworkspace/xcuserdata/ken.xcuserdatad/UserInterfaceState.xcuserstate
        modified:   Samples/LibOVR_With_Samples.xcworkspace/xcuserdata/ken.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/.DS_Store
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.app.dSYM/Contents/Resources/DWARF/OculusWorldDemo
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.app/Contents/MacOS/OculusWorldDemo
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/OculusWorldDemo.dia
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/OculusWorldDemo.o
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/OculusWorldDemo_Scene.o
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/ReadDataRunML.o
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/OculusWorldDemo.dep
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/build-state.dat
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/.DS_Store
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.001 500000.png
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.01 10000000.png
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.01 2000000.png
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.05 500000.png
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/displayDataFirst2D.py
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/displayDataFirst3D.py
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data1
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data2D
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data3D
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.datatest
        modified:   Samples/OculusWorldDemo/OculusWorldDemo.cpp
        modified:   Samples/OculusWorldDemo/OculusWorldDemo.h
        modified:   Samples/OculusWorldDemo/ReadDataRunML.cpp
        modified:   Samples/OculusWorldDemo/ReadDataRunML.h
        deleted:    Samples/OculusWorldDemo/data/iris.data3D
        deleted:    Samples/data/iris.data3D
        deleted:    data/iris.data3D

    Untracked files:
      (use "git add <file>..." to include in what will be committed)

        Samples/LibOVR_With_Samples.xcworkspace/xcshareddata/LibOVR_With_Samples.xccheckout

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

    ken@rescomp-14-293006:~/Dropbox/aaRA/杂七杂八相关/OculusSDK$ git add . 
    ken@rescomp-14-293006:~/Dropbox/aaRA/杂七杂八相关/OculusSDK$ git status
    On branch changeByIterNum
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)

        modified:   .DS_Store
        modified:   LibOVR/Lib/Mac/Release/LibOVR.build/build-state.dat
        new file:   Samples/LibOVR_With_Samples.xcworkspace/xcshareddata/LibOVR_With_Samples.xccheckout
        modified:   Samples/LibOVR_With_Samples.xcworkspace/xcuserdata/ken.xcuserdatad/UserInterfaceState.xcuserstate
        modified:   Samples/LibOVR_With_Samples.xcworkspace/xcuserdata/ken.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/.DS_Store
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.app.dSYM/Contents/Resources/DWARF/OculusWorldDemo
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.app/Contents/MacOS/OculusWorldDemo
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/OculusWorldDemo.dia
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/OculusWorldDemo.o
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/OculusWorldDemo_Scene.o
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/ReadDataRunML.o
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/OculusWorldDemo.dep
        modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/build-state.dat
        modified:   Samples/OculusWorldDemo/OculusWorldDemo.cpp
        modified:   Samples/OculusWorldDemo/OculusWorldDemo.h
        modified:   Samples/OculusWorldDemo/ReadDataRunML.cpp
        modified:   Samples/OculusWorldDemo/ReadDataRunML.h

    Changes not staged for commit:
      (use "git add/rm <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)

        deleted:    Samples/CommonSrc/data/iris.data3D
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/.DS_Store
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.001 500000.png
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.01 10000000.png
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.01 2000000.png
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.05 500000.png
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/displayDataFirst2D.py
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/displayDataFirst3D.py
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data1
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data2D
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data3D
        deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.datatest
        deleted:    Samples/OculusWorldDemo/data/iris.data3D
        deleted:    Samples/data/iris.data3D
        deleted:    data/iris.data3D
ken@rescomp-14-293006:~/Dropbox/aaRA/杂七杂八相关/OculusSDK$ git add --all .
ken@rescomp-14-293006:~/Dropbox/aaRA/杂七杂八相关/OculusSDK$ git status
On branch changeByIterNum
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

    modified:   .DS_Store
    modified:   LibOVR/Lib/Mac/Release/LibOVR.build/build-state.dat
    deleted:    Samples/CommonSrc/data/iris.data3D
    new file:   Samples/LibOVR_With_Samples.xcworkspace/xcshareddata/LibOVR_With_Samples.xccheckout
    modified:   Samples/LibOVR_With_Samples.xcworkspace/xcuserdata/ken.xcuserdatad/UserInterfaceState.xcuserstate
    modified:   Samples/LibOVR_With_Samples.xcworkspace/xcuserdata/ken.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
    modified:   Samples/OculusWorldDemo/Bin/Mac/Release/.DS_Store
    modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.app.dSYM/Contents/Resources/DWARF/OculusWorldDemo
    modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.app/Contents/MacOS/OculusWorldDemo
    modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/OculusWorldDemo.dia
    modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/OculusWorldDemo.o
    modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/OculusWorldDemo_Scene.o
    modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/Objects-normal/x86_64/ReadDataRunML.o
    modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/OculusWorldDemo.dep
    modified:   Samples/OculusWorldDemo/Bin/Mac/Release/OculusWorldDemo.build/build-state.dat
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/.DS_Store
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.001 500000.png
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.01 10000000.png
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.01 2000000.png
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/2D display/0.05 500000.png
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/displayDataFirst2D.py
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/displayDataFirst3D.py
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data1
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data2D
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.data3D
    deleted:    Samples/OculusWorldDemo/Bin/Mac/Release/data/iris.datatest
    modified:   Samples/OculusWorldDemo/OculusWorldDemo.cpp
    modified:   Samples/OculusWorldDemo/OculusWorldDemo.h
    modified:   Samples/OculusWorldDemo/ReadDataRunML.cpp
    modified:   Samples/OculusWorldDemo/ReadDataRunML.h
    deleted:    Samples/OculusWorldDemo/data/iris.data3D
    deleted:    Samples/data/iris.data3D
    deleted:    data/iris.data3D

Upvotes: 2

Views: 1725

Answers (1)

Fernando
Fernando

Reputation: 1450

Add the new name(s) and remove the old name(s) with:

git rm --cached old_name
git add new_name

Given you already renamed the files with the file manager that is the same as:

git mv old_name new_name

You can make it automatically for all the files with some sloppy shell scripting (only tested on Linux):

git status | grep -A1024 -E '^Changes not staged' | grep 'deleted:' | cut -d: -f2 | xargs git rm --cached
git status | grep -A1024 -E '^Untracked' | grep -E '^\s+\w' | xargs git add

After that (funny enough) git status will print that you renamed those files.

Notice: names with white spaces may be a problem for those oneliners...

Upvotes: 3

Related Questions