Untracked files between branches in Git

I’ve been searching around here for to look for an answer and it seems I may just be making incorrect assumptions on how git branches are supposed to work.

I have my master branch and I’ve created a feature branch called profiles where I’m doing some specific work to profiles. While working on profiles I’ve changed 5 or 6 files and added another 5 or 6 new files. I needed to switch back to the master branch to fix a quick bug and noticed all the new files and modified files where in there as well. I guess this makes sense since git isnt going to remove untracked files from the master branch and bring them back for my profiles branch since they are, in fact, untracked. But what about the changes to existing files. Why are they showing up in the master branch.

  • Undoing the merge in Git so that no commits from the other branch exist
  • git push to different branches on multiple remotes
  • Is using “feature branches” compatible with refactoring?
  • Scare of My Life With GIT: I've got no branch!
  • Git - push to a remote-tracking branch in the remote repository
  • Git: Renaming a directory in a branch
  • Whats the best practice here. I’m not ready to commit the changes locally yet. Should I just be stashing all these changes, switch to master, make the small fix, switch back to profiles then reapply the stash?

    Any help is appreciated. Thanks

  • Track git pushes and checkout
  • gitlab-shell -> git push -u origin master -> fatal: The remote end hung up unexpectedly
  • Can I use `git subtree split` to maintain a “fork” of a project's subdirectory?
  • SourceTree and Stash: Unable to get local issuer certificate
  • Visual Studio: Git Team Explorer does not show any changes
  • How to synchronize two git-svn repos
  • 3 Solutions collect form web for “Untracked files between branches in Git”

    “I’m not ready to commit the changes locally yet.”

    Commits in git are local things that can be undone, redone and re-re-done at will. It’s only when you push the commit somewhere that you need to pay attention.

    Plus, commits are visible to local tools like gitk, and can have diffs taken of them and can be rebased onto other commits, etc. It’s a very powerful tool. Learn to use it.

    I frequently do:

    git add .; git commit -a -m 'WIP'
    

    just to stash away everything in the current work tree if I think I might be interrupted. If I make a few more changes, I use:

    git add .; git commit --amend
    

    to update my “WIP” commit in-place. When I’m finally ready for the real commit, I just:

    git reset --soft HEAD~; git reset
    

    and now I can carefully control what the final commit will be.

    They’re not showing up in the master branch – if you did a hard reset and a clean, they’d disappear. Git is merely preserving your local modifications when you switch branches.

    This is commonly useful; you might have realized you want to commit those modifications to a different branch than the one you’re currently on. If the modifications conflicted with the difference between the two branches, git would refuse to switch branches.

    You’re right about the best approach, though – switching branches cleanly is in my experience one of the most common uses of git stash.

    It sounds like you created the branch with git branch profiles, but didn’t switch to it, so you stayed in master, and it got the file changes when you did a commit.

    After creating the branch, you need to explicitly switch to it with git checkout (just create new branch on-the-fly and switch to it in one step using git checkout -b ).

    If you have changes you don’t want to lose (or commit to the current branch), but instead put into the other branch, do:

    git add -A
    git stash
    git checkout <other branch>
    git stash pop
    

    More info on git stash is available from git-scm.com

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