I made changes to some files on a branch feature/branch-30 and then realized that some of these changes should be on feature/branch-31. I know we can use stash and pop commands to move all the files from one branch to another branch but my requirement is that I need to move only specific files from feature/branch-30 to feature/branch-31. How do I do that? I would really appreciate any help. Thank you!
Move Specific Files from One Branch to Another Branch in Github
5.5k Views Asked by joemac12 At
2
There are 2 best solutions below
Related Questions in GIT
- Push mysql database script to server using git
- Git show's file path
- Git > diffs filtered, show only certain changed classes/files
- Pushing to git repository hosted by Visual studio online without entering user name and password
- How do I create my own Git branch to work on?
- Git init --bare giving error fatal: Out of memory? mmap failed: No such device
- Sub-directory into independent repository and later merge back into main repository
- How to find the Git Revision Hash in a synced SVN repo using SubGit?
- eclipse errors when try to change to master git branch
- How to have Heroku build my development branch on a staging server?
- Is "Merged in" a commit message created by bitbucket, or git?
- Git: Multiple projects under one directory
- Permission denied hg-git
- Is it possible to clone a private git repo without adding ssh keys
- Track file in master repository which is ignored in submodule
Related Questions in GITHUB
- How do I create my own Git branch to work on?
- Tools for Apache Cordova - Installed Plugins are skipped in build
- Permission denied hg-git
- git hard reset - what am I doing wrong?
- Merge Pull Request Manually
- rebasing interactively, but only one commit shows up?
- Error when adding a new build stage on Bluemix DevOps Services
- What should I do if I put MS Office (e.g. .docx) or OpenOffice( e.g. .odt) document into a git repository?
- How to trigger git hooks without pushing to the repo
- How to push a Git server repository issues to Github repository?
- How to backup an AOSP project on GitHub
- How to reference comments in github.com?
- Aptana, github & remote (sftp) files
- Opening PDF in a browser with Github Pages
- I need git to include the parent directory
Related Questions in GITHUB-DESKTOP
- In new GitHub Desktop Beta, how can I compare two branches?
- Git bash - connection to the repository and last commit edition
- How to sync your forked repo with original Repo in Github Desktop
- Github Desktop Comparison Script
- Unable to install GithubDesktopSetup.exe
- Move Specific Files from One Branch to Another Branch in Github
- GitHub add content of new scripts to the old scripts
- Use different SSH keys with GitHub Desktop
- Create pull request at github remote branch and push to that pull request
- github showing extra characters for my properties file
- Why can't I download Git and Github desktop on my system?
- URL scheme for opening a local repository using GitHub Desktop
- Unable to change branches, remotely deleted file invisible in local repo
- Symbolic link to docker container on host machine
- My commits do not appear on my contribion table on Github. What to do?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
git stashonly works with the staging area to build up a commit. Once the changes are committed, it has no place. If you want to move committed changes to certain files, you need to make new commits with only those changes.From now on I'll call branch-30 "source" and branch-31 "dest".
I'll assume that by "move" you want to remove the changes from source and add them to dest. There's many ways to do this. The important thing to account for is because dest may have also changed the files, if we tried to just move the changes in source to dest there might be conflicts. Git has a tool to handle this, merging!
First, we'll obtain the changes from source to dest by faking a merge.
git merge -nwill perform a merge without committing them.Now you have the uncommitted merge of everything. Use
git restoreto remove any changes you do not want, and fix any conflicts as normal. Then stash that change and, since we don't actually want to merge, abort the merge:git merge --abort.Now apply and commit your stash to dest.
That's adding the changes to dest sorted, now we need to remove them from source. This is a similar approach, but instead of merging to get the changes, we'll use
git restoreto bring all the files back to their original master versions, but not commit them.Once again, you have a staging area full of changes. Again, remove all the changes you do not want. Then commit them.
And you're done.