Anyone have a method for moving files around keeping Xcode project and git in sync?

I have a large (hundreds of files), horribly disorganized (on the file system that is) Xcode project. I want to move a bunch of files into different folders. I want git to track the move operations, and I want my Xcode project to track the moves as well (just keeping the references intact is enough; I don’t need Xcode to rearrange its internal group structure, etc.)

If I drag things around in the Finder, both Xcode and git are in the dark. I have faith that git will figure things out by content when the time comes, but I also notice that there’s a difference in the output of git status between doing a git mv and moving the file in the Finder, then adding the deletion and addition operations separately, so I’m assuming there’s some difference (even if that difference doesn’t end up getting encoded into the content of the commit.) Xcode, on the other hand, is hopeless in the face of this. (You have to manually re-find every single file.)

  • GitHub - List commits by author
  • Visual Studio 2015 git erroring out
  • Can't switch branches - “Error: Untracked working tree files…” should I do git add?
  • GIT push error: out of memory, malloc failed (tried to allocate 56 bytes)
  • GitHub clone repositories with SSH doesn't work
  • Convert git repo to submodule
  • If I use git mv from the command line, git tracks the move, but I still have to manually reconnect each reference in Xcode (or tear them all out and reimport everything, which is a pain in the ass because many of these files have custom build flags associated with them.)

    It appears that there simply isn’t a way to cause a file system move from within Xcode.

    I’ve found zerg-xcode and a plug-in for it that claims to sync the file system to mirror the Xcode group structure, but I’ve not been able to google up anything that goes the other way. I just want a way to move files on the file system and have the two other things (git and Xcode) to keep track of the files across the moves. Is this too much to ask? So far it seems the answer is, “yes”.

    Yes, I’ve seen Moving Files into a Real Folder in Xcode I’m asking whether someone’s written a script or something that makes this less painful.

  • Git octopus merge with unrelated repositoies
  • rebase not ignoring commits with same textual changes?
  • Cannot push to Heroku because key fingerprint
  • Restore earlier state, keep untracked files
  • How to view commits from one day only in a pretty format in git?
  • How should I apply the git-flow paradigm to my project?
  • One Solution collect form web for “Anyone have a method for moving files around keeping Xcode project and git in sync?”

    Actually, by design, Git doesn’t track moves. Git is only about content. If any Git tool tells you there was a move (like git log --follow, it’s something that was guessed from content, not from metadata).

    So you won’t lose information if you move files around with another tool then git add the whole folder.

    Git Baby is a git and github fan, let's start git clone.