How can I merge multiple commits onto another branch as a single squashed commit?

Say your bug fix branch is called bugfix and you want to merge it into master: This will take all the commits from the bugfix branch, squash them into 1 commit, and merge it with your master branch. Explanation: Switches to your master branch. Takes all commits from the bugfix branch and groups it for a 1 commit with your current branch.(no merge commit appears; you … Read more

What would I use git-worktree for?

For me, git worktree is the biggest improvement since a long time. I’m working in enterprise software development. There, it is very common that you have to maintain old versions like what you released 3 years ago. Of course you have a branch for each version so that you can easily switch to it and … Read more

How to fetch all Git branches

You can fetch all branches from all remotes like this: It’s basically a power move. fetch updates local copies of remote branches so this is always safe for your local branches BUT: fetch will not update local branches (which track remote branches); if you want to update your local branches you still need to pull every branch. fetch will not create local branches (which track remote branches), you … Read more

How to upload folders on GitHub

This is Web GUI of a GitHub repository: Drag and drop your folder to the above area. When you upload too much folder/files, GitHub will notice you: Yowza, that’s a lot of files. Try again with fewer than 100 files. and add commit message And press button Commit changes is the last step.

Hard reset of a single file

You can use the following command: … which will update both the working copy of my-file.txt and its state in the index with that from HEAD. — basically means: treat every argument after this point as a file name. More details in this answer. Thanks to VonC for pointing this out.

Could not open a connection to your authentication agent

Did You Start ssh-agent? You might need to start ssh-agent before you run the ssh-add command: Note that this will start the agent for msysgit Bash on Windows. If you’re using a different shell or operating system, you might need to use a variant of the command, such as those listed in the other answers. See the following answers: ssh-add complains: Could … Read more

Gitignore not working

The files/folder in your version control will not just delete themselves just because you added them to the .gitignore. They are already in the repository and you have to remove them. You can just do that with this: Remember to commit everything you’ve changed before you do this! This removes all files from the repository and … Read more