A while ago I checked out a previous commit, then checked out my most recent commit again. I didn't realize this at the time, but that left me in a detached head state. I've done multiple commits since then, and am still in the detached head state. I know I can get out of this state by doing git checkout <branch name>, but if I do this will I lose anything?
Git: If I've been working in detached head state for multiple commits, will I lose anything by getting out of it?
133 Views Asked by gkeenley At
2
There are 2 best solutions below
0
VonC
On
I didn't realize this at the time, but that left me in a detached head state
That is why I mention the more recent (Git 2.23, Q3 2019) git switch command.
You cannot use git switch <commit> and not realize you end up in a detached HEAD state, because such a command would actually fail, with the error message:
fatal: a branch is expected, got <commitID>
If you want to detach HEAD at the commit, try again with the `--detach` option
See more at "Why did my Git repo enter a detached HEAD state?".
The hint to use the --detach option comes from Git 2.36 (Q2 2022).
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 GIT-BRANCH
- Git refusing to commit
- Git branch name sometimes displayed in-line in terminal affecting the actual code?
- Move committed changes from one file into new branch in git
- How do I move some modifications from a feature branch into the main one?
- Git log of a specific branch already merged
- Why my wsl ubuntu's default git branch is Master?
- How to remove Git branches that give an error "does not point to a valid object"
- Git feature branch dragged on too long
- To create a branch from a git tag is a good practice?
- Is it safe to rebase remote branch if nobody based work on it?
- Git Pages: How to link a script file (or any other files) from a branch into the main branch
- Is there a way to restrict branch creation pattern in github?
- Git rebase to squash commits reverts local to several commits prior
- Are commits from local branches that aren't pushed accessible at the remote?
- I received Pull Request in GitHub from contributor. But I'd like to make some changes to it. How to do that and still give him credit when merging?
Related Questions in GIT-COMMIT
- How to amend last commit without losing commit tag
- Why some pull requests in GitHub have no commit list?
- Why aren't my git commits able to be signed
- Git update commit author on push event
- Create Pull Request Excluding Old Commits on bitbucket
- Error: Corrupted Git Object Files - Unable to Commit Changes
- Git feature branch dragged on too long
- Log a template message every time I commit in Git
- how to remove a renamed file from last git commit?
- why all previous commits got pushed again to the new branch?
- Can I make Xcode switch to Project navigator after a Commit completes?
- UNABLE TO COMMIT CHANGES FROM ECLIPSE TO GITHUB
- Why is the difference in commits of two branches is just stacking up when being merged? How to resolve?
- How to remove specific pull request from the git branch?
- Git - Merging from a PR overwrites previous commits leaving no history, why is this happening?
Related Questions in GIT-CHECKOUT
- Git checkout updates local branch and remote repository at the same time
- Git LFS Repo Fails To Checkout On Jenkins With Status Code 130
- Non-interactive git restore for specific lines in a file
- How to keep changes when switching branches without using `git stash`
- Why does Git fetch remember and use deleted local tracking branches
- GitHub Actions Checkout with LFS (Private Repo)
- Getting error while copying folder from one branch to another in gitlab repo
- VScode + git: does not checkout submodules
- How to checkout a file from the current tracking branch?
- How to get checked out remote repository directory in github actions
- Is there a simple way to update somebody else's file on gist.github.com?
- GitHub `actions/checkout`: Fetch history up to before the push event
- Azure Cli / Git Checkout previous HEAD is incorrect
- In Git, How do I checkout to a New Branch from an already Existing Branch?
- How can disbale poll scm for specific checkout in Jenkinsfile?
Related Questions in GIT-DETACHED-HEAD
- git/submodule: NOT a detached ahead after update --checkout
- git/submodule: detached ahead after update --rebase
- Git Detached Head in Android Studio
- Set an existing branch to detached HEAD (after `git rebase --onto`)
- Git: abandon bad commit and make HEAD the mainstream
- Resolving Detached Head on Server in Copied "Test" Site and original "Live" Site
- How to make a separate branch when in detached head state?
- HEAD is detached in the repository [repo_name] and no branch selected - NetBeans
- Detached head state in closed development environment
- "HEAD" equivalent in detached HEAD state
- What's the best way to find old detached HEAD after repo sync?
- Is there a way to undo detached HEAD state without undoing the work I've done while in detached HEAD state?
- Detached Head state on the Git remote repository
- git cherry-pick says nothing to commit
- Git: If I've been working in detached head state for multiple commits, will I lose anything by getting out of it?
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?
Yes, you will lose all the commits you've made in detached head mode, because no branch name will be pointing to them. (You won't totally lose them immediately, but they will be slated for destruction, and accessing them will become more difficult.)
So simply create a branch first, to retain them and give you a way to refer to them.
Now it's safe to checkout
branchname.Actually in your case, though, since your HEAD is in fact where you wish your branch was, you can just move your branch name to where you are now instead. No need for
tempat all.