![]() This helped me keep up with the changes that were being made to the repository in real time.įor instance, making a local change and pushing that change to the remote repository from SourceTree can save time as opposed to doing the same from the command line as fewer steps are necessary. ![]() Another great feature of SourceTree is that it shows how many changes have been made to the branches since you last pulled. I found this to be one of the best features as this view helped me visualize my workflow. SourceTree features a graph which shows the relationships between the branches and commits. Branches can be checked out by double clicking on the branch names under the branches section. SourceTree saves a lot of time and allows users to stage, unstage and push files with the click of a single button. SourceTree has a lot of cool features to offer which make performing even some complex tasks in Git easy to perform and performing easy steps even easier. Due to the features that SourceTree encompasses, it helped improve my workflow and productivity. Visualizing and managing repositories through SourceTree’s simple interface is very easy. This helped me focus more on coding as opposed to focusing on maintaining my code in Git. SourceTree has simplified how I am able to interact with Git repositories. I have been using it for about a month now and I have fallen in love with this tool. It features an appealing visual interface between users and Git which can be seen in the below image. Preferably, you should only do this in repositories that haven't been published / shared, yet.SourceTree is Awesome! SourceTree is a completely free Git client that is supported by Windows as well as the Mac platform. The same warning applies to this method as to the others mentioned: you are rewriting history with this command, creating new commit objects along the way! You can run the below sample script in your repository (filling in real values for the old and new email and name): $ git filter-branch -env-filter Name It allows you to batch-process a (potentially large) number of commits with a script. $ git rebase -continue Using git filter-branchĪnother way is to use Git's "filter-branch" command. Your job, now, is to correct the author information and then continue to the next concerned commit object until you've edited all the commits you just marked: $ git commit -amend -author="John Doe " -no-edit Once you are satisfied with your changes, run Git will now walk you through each commit, giving you the chance to mold it as you desire: Stopped at 5772b4bf2. Your editor will open, requesting you to mark all the commits you want to change with the "edit" keyword. The first step is to identify the last "good" commit and provide its hash to the rebase command: $ git rebase -i -p 0ad14fa5 Use it with care (and possibly read up on it)! However, being as powerful as it is, this also means you can very easily shoot yourself in the foot. Interactive Rebase is the Swiss Army Knife of tools in Git: it allows you to do and change almost anything. This effectively replaces the last commit with your "edited" version, correcting the wrong author information. In case you want to change just the very last commit, Git offers a very easy way to do this: git commit -amend -author="John Doe " There are three basic ways to edit your past commits: Using -amend for the Very Last Commit Therefore, think twice before you rewrite your commit history! This is nothing to take lightly: you will create new commit objects in this process, which can become a serious problem for your collaborators - because they might have already based new work on some of the original commits. ![]() No matter how exactly we change the information of past commits, there's one thing to always keep in mind: if we do this, we are effectively rewriting commit history. Note Editing Past Commits Rewrites History!
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |