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