Questions tagged [git]
Git is an open-source distributed version control system (DVCS). Use this tag for questions about Git usage and workflows. Do not use this tag for general programming questions that happen to involve a Git repository. Do not use this tag for GitHub/GitHub Actions questions that do not involve git usage; use [github] or [github-actions] instead. Do not use the [github] tag for Git-related issues just because a repository happens to be hosted on GitHub.
152,206
questions
26301
votes
106
answers
13.9m
views
How do I undo the most recent local commits in Git?
I accidentally committed the wrong files to Git, but didn't push the commit to the server yet.
How do I undo those commits from the local repository?
20387
votes
41
answers
11.4m
views
How do I delete a Git branch locally and remotely?
Failed Attempts to Delete a Remote Branch:
$ git branch -d remotes/origin/bugfix
error: branch 'remotes/origin/bugfix' not found.
$ git branch -d origin/bugfix
error: branch 'origin/bugfix' not found....
13804
votes
37
answers
3.5m
views
What is the difference between 'git pull' and 'git fetch'?
What are the differences between git pull and git fetch?
11585
votes
40
answers
5.4m
views
How can I rename a local Git branch?
How can I rename a local branch which has not yet been pushed to a remote repository?
Related:
Rename master branch for both local and remote Git repositories
How do I rename both a Git local and ...
11317
votes
38
answers
5.5m
views
How do I undo 'git add' before commit?
I mistakenly added files to Git using the command:
git add myfile.txt
I have not yet run git commit. How do I undo this so that these changes will not be included in the commit?
9624
votes
53
answers
8.4m
views
How do I force "git pull" to overwrite local files?
How do I force an overwrite of local files on a git pull? My local repository contains a file of the same filename as on the server.
error: Untracked working tree file 'example.txt' would be ...
8617
votes
43
answers
8.6m
views
How do I check out a remote Git branch?
Somebody pushed a branch called test with git push origin test to a shared repository. I can see the branch with git branch -r. How do I check out the remote test branch? I've tried:
git checkout ...
8222
votes
35
answers
2.4m
views
How do I make Git forget about a file that was tracked, but is now in .gitignore?
I put a file that was previously being tracked by Git onto the .gitignore list. However, the file still shows up in git status after it is edited. How do I force Git to completely forget the file?
8108
votes
42
answers
3.2m
views
How do I remove local (untracked) files from the current Git working tree?
How do I delete untracked local files from the current working tree?
7648
votes
27
answers
3.7m
views
How to modify existing, unpushed commit messages?
I wrote the wrong thing in a commit message.
How can I change the message? The commit has not been pushed yet.
7611
votes
41
answers
10.9m
views
How do I revert a Git repository to a previous commit?
How do I revert from my current state to a snapshot made on a certain commit?
If I do git log, then I get the following output:
$ git log
commit a867b4af366350be2e7c21b8de9cc6504678a61b`
Author: Me &...
6540
votes
23
answers
1.8m
views
Move the most recent commit(s) to a new branch with Git
How do I move my recent commits on master to a new branch, and reset master to before those commits were made? e.g. From this:
master A - B - C - D - E
To this:
newbranch C - D - E
/
...
6318
votes
33
answers
4.0m
views
How do I change the URI (URL) for a remote Git repository?
I have a repo (origin) on a USB key that I cloned on my hard drive (local). I moved "origin" to a NAS and successfully tested cloning it from here.
I would like to know if I can change the ...
6271
votes
40
answers
4.1m
views
How do I discard unstaged changes in Git?
How do I discard changes in my working copy that are not in the index?
5728
votes
37
answers
3.0m
views
How can I reset or revert a file to a specific revision?
How can I revert a modified file to its previous revision at a specific commit hash (which I determined via git log and git diff)?
5705
votes
27
answers
6.3m
views
Reset local repository branch to be just like remote repository HEAD
How do I reset my local branch to be just like the branch on the remote repository?
I tried:
git reset --hard HEAD
But git status claims I have modified files:
On branch master
Changes to be ...
5635
votes
19
answers
5.9m
views
How do I push a new local branch to a remote Git repository and track it too?
How do I:
Create a local branch from another branch (via git branch or git checkout -b).
Push the local branch
to the remote repository (i.e. publish), but make it
trackable so that git pull and git ...
5445
votes
26
answers
4.6m
views
How to determine the URL that a local Git repository was originally cloned from
I pulled a project with several forks on GitHub, but forgot which fork it was. How do I determine which fork I pulled?
5412
votes
46
answers
3.7m
views
How do I squash my last N commits together?
How do I squash my last N commits together into one commit?
5366
votes
36
answers
3.5m
views
How do I resolve merge conflicts in a Git repository?
How do I resolve merge conflicts in my Git repository?
5343
votes
37
answers
1.5m
views
How do I add an empty directory to a Git repository?
How do I add an empty directory (that contains no files) to a Git repository?
4875
votes
35
answers
3.2m
views
Undo a Git merge that hasn't been pushed yet
I accidentally ran git merge some_other_branch on my local master branch. I haven't pushed the changes to origin master. How do I undo the merge?
After merging, git status says:
# On branch master
# ...
4814
votes
31
answers
2.1m
views
How can I delete a remote tag?
How can I delete a Git tag that has already been pushed?
4781
votes
48
answers
1.8m
views
How do I clone all remote branches?
My master and development branches are tracked remotely on GitHub. How do I clone both these branches?
4711
votes
31
answers
1.3m
views
How do I update or sync a forked repository on GitHub?
I forked a project, made changes, and created a pull request which was accepted. New commits were later added to the repository. How do I get those commits into my fork?
4533
votes
40
answers
1.6m
views
How do I remove a submodule?
How do I remove a Git submodule?
Why can't I do
git submodule rm module_name?
4332
votes
40
answers
4.9m
views
How do I delete a commit from a branch?
How do I delete a commit from my branch history? Should I use git reset --hard HEAD?
4303
votes
20
answers
2.0m
views
Undoing a git rebase
How do I easily undo a git rebase? A lengthy manual method is:
checkout the commit parent to both of the branches
create and checkout a temporary branch
cherry-pick all commits by hand
reset the ...
4105
votes
141
answers
4.5m
views
Message 'src refspec master does not match any' when pushing commits in Git
I clone my repository with:
git clone ssh://xxxxx/xx.git
But after I change some files and add and commit them, I want to push them to the server:
git add xxx.php
git commit -m "TEST"
git push ...
4056
votes
52
answers
3.2m
views
How do I get the current branch name in Git?
How do I get the name of the current branch in Git?
4040
votes
23
answers
1.8m
views
Make an existing Git branch track a remote branch?
I know how to make a new branch that tracks remote branches, but how do I make an existing branch track a remote branch?
I know I can just edit the .git/config file, but it seems there should be an ...
4030
votes
7
answers
4.8m
views
How do I clone a specific Git branch? [duplicate]
Git clone will clone remote branch into local.
Is there any way to clone a specific branch by myself without switching branches on the remote repository?
3932
votes
13
answers
1.0m
views
Move existing, uncommitted work to a new branch in Git
I started some work on a new feature and after coding for a bit, I decided this feature should be on its own branch.
How do I move the existing uncommitted changes to a new branch and reset my ...
3884
votes
15
answers
1.2m
views
Remove a file from a Git repository without deleting it from the local filesystem
I want to remove a file from my repository.
git rm file_to_remove.txt
will remove the file from the repository, but it will also remove the file from the local file system. How do I remove this file ...
3866
votes
27
answers
2.4m
views
View the change history of a file using Git versioning
How do I view the history of an individual file with complete details of what has changed?
git log -- [filename] shows me the commit history of a file, but how do I see the file content that changed?
3764
votes
32
answers
1.2m
views
How do I stash only one file out of multiple files that have changed?
How do I stash only one of the multiple changed files on my branch?
3709
votes
26
answers
2.9m
views
How do I create a remote Git branch?
I created a local branch. How do I push it to the remote server?
UPDATE: I have written a simpler answer for Git 2.0 here.
3660
votes
33
answers
3.0m
views
Git refusing to merge unrelated histories on rebase
During git rebase origin/development the following error message is shown from Git:
fatal: refusing to merge unrelated histories
Error redoing merge 1234deadbeef1234deadbeef
My Git version is 2.9.0. ...
3592
votes
30
answers
652k
views
Commit only part of a file's changes in Git
When I make changes to a file in Git, how can I commit only some of the changes?
For example, how could I commit only 15 lines out of 30 lines that have been changed in a file?
3583
votes
30
answers
2.3m
views
How do I list all the files in a commit?
How can I print a plain list of all files that were part of a given commit?
Although the following lists the files, it also includes unwanted diff information for each:
git show ...
3469
votes
40
answers
1.5m
views
Git is not working after macOS update ("xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools")
I updated to the latest OS, and/or restarted my computer (this happens on every major update, but this time all I did was restart my computer on 2022-09-13).
This morning I navigated to my work's ...
3445
votes
12
answers
2.1m
views
Difference between "git add -A" and "git add ."
What is the difference between git add [--all | -A] and git add .?
3438
votes
13
answers
2.1m
views
How do you push a tag to a remote repository using Git?
I added a tag to the master branch on my machine:
git tag mytag master
How do I push this to the remote repository? Running git push gives the message:
Everything up-to-date
However, the remote ...
3347
votes
35
answers
1.4m
views
How do I make git use the editor of my choice for editing commit messages?
How do I globally configure git to use a particular editor (e.g. vim) for commit messages?
3333
votes
15
answers
2.3m
views
What does cherry-picking a commit with Git mean?
What does git cherry-pick <commit> do?
3205
votes
30
answers
1.1m
views
How do I find and restore a deleted file in a Git repository?
Say I'm in a Git repository. I delete a file and commit that change. I continue working and make some more commits. Then, I discover that I need to restore that file after deleting it.
I know I can ...
3202
votes
22
answers
1.5m
views
How do I modify a specific commit?
I have the following commit history:
HEAD
HEAD~
HEAD~2
HEAD~3
git commit --amend modifies the current HEAD commit. But how do I modify HEAD~3?
3192
votes
14
answers
2.6m
views
I ran into a merge conflict. How do I abort the merge?
I used git pull and had a merge conflict:
unmerged: some_file.txt
You are in the middle of a conflicted merge.
How do I abandon my changes to the file and keep only the pulled changes?
3143
votes
12
answers
2.3m
views
How can I see the differences between two branches?
How can I see the differences between branches branch_1 and branch_2?
3121
votes
31
answers
4.5m
views
`git fetch` a remote branch
The remote repository contains various branches such as origin/daves_branch:
$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/master
How do I switch to daves_branch in the ...