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
- problem to push files on a repository git
- diff3 output in git conflict style, including mergeable hunks
- Git Not In Sync with Local Branch
- Setting up the version control of .dotfiles while the .config is connected to a forked repo
- How to fix overriding the main branch in Git?
- I can't add text to "Message" in VS Code when committing to Git
- How can i redirect pull request from main branch to another branch
- Xcode commits (possibly outside of any branch) disappeared, how to get them back?
- Git/TortoiseGit : how to apply ONLY the changes from ONE commit from branch A, to branch B?
- How can I reintroduce username an password on git using fedora?
- GIT SKIP EMPTY DIRECTORIES
- Git smudge run once per checkout or per commit?
- I can't find ~/.profile or ~/.bashrc in C:/Users/<user>/.ssh folder
- Set environment variable during push for GitHub Actions
- Android WebRTC compile
Related Questions in GITHUB
- How to update to the latest external Git in Azure Web App?
- Github Pages Deployment deploys a blank page
- Git Not In Sync with Local Branch
- How do I create a test passing badge for my yaml below
- Cant connect to any github repository from my netbeans 20
- How can i redirect pull request from main branch to another branch
- Trying to update the version.go file with the release tag from GitHub actions but its failing
- Encountering Errors Running GitHub Project: Wavelet-pixel domain progressive fusion network for underwater image enhancement - Seeking Assistance
- How can I reintroduce username an password on git using fedora?
- How do I find Github File_ID?
- Forking vs Cloning in GitHub
- I can't find ~/.profile or ~/.bashrc in C:/Users/<user>/.ssh folder
- how to build nextjs app unable to build and deploy
- Plugin with id 'com.android.application' not found in Github Winlator Project
- Git commit asks for passphrase which I don't remember
Related Questions in GITHUB-DESKTOP
- I force pushed my git repository by mistake
- Not able to commit my changes from Github Desktop
- Github desktop pushes to remote origin but fetch fails
- GitHub Desktop: Commits lost/deleted
- Git Conflict Resolution Challenge: How to restore last saved code after conflicts
- GitHub Desktop, Changing the path of my IDE
- git push data stream erro
- GitHub desktop error the procedure entry point discard virtual memory could not be located in the dynamic link library
- My commits do not appear on my contribion table on Github. What to do?
- Symbolic link to docker container on host machine
- Unable to change branches, remotely deleted file invisible in local repo
- URL scheme for opening a local repository using GitHub Desktop
- Why can't I download Git and Github desktop on my system?
- github showing extra characters for my properties file
- Create pull request at github remote branch and push to that pull request
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 # Hahtags
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.