Say you cloned a repository, then you created a new branch and did several commits on this branch ( without creating new branches or pushing to any remotes ). In some of these commits you introduced (committed) a file fileA by a mistake. Now, how can you remove that file from the history, but not from the local file system (i.e. keep the file as untracked)? Also assume that the name of the parent branch is not known (in order to completely automate the process).
Delete a file from from all commits up to first branch point but not delete it from local file system
90 Views Asked by Håkon Hægland At
1
There are 1 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 GIT-FILTER-BRANCH
- Git filter-branch commit-filter debugging output
- Git: split pull request into smaller PR's based upon the new directories in the pull request
- Files deleted with git filter-branch reappear after push and pull back
- Git Remove Large Files from History
- Change timezone for all commits in git history
- Delete a file from from all commits up to first branch point but not delete it from local file system
- remove all but selected files in all Git commits
- Change string in file through whole git history, filter-branch is not rewriting the file
- Remove specific file from specifc commit when 'git filter-branch' fails
- git says I have unstaged changes but I can not see them
- Sed breaking during git filter-branch
- How to extract a subdirectory of one git repository into its own repo, keeping history and all branches?
- filter-branch works only after running it twice
- Git filter-branch after a git mv, keep all history in subdirectory
- Remove unused assets from git history
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?
We here use git filter-branch to remove the file from the index. It is important that we only use
git filter-branchfor the commits up to the first branch point; if not, we may not be able to merge the branch back into the original parent, and we could also accidentally delete a file with the same name in the parent branch.A difficulty arises if we assume the name of the parent branch to be unknown. However, this can be resolved using
git branch --contains: