Sublime merge что это
Sublime merge что это
With a zippy cross-platform GUI toolkit, an unmatched syntax highlighting engine, and a custom high-performance Git reading library, Sublime Merge sets the bar for performance.
Precise and Flexible
Commit exactly what you want with line-by-line and hunk staging. Select one or more lines to split hunks into multiple changes.
Sublime Highlighting
With the power of Sublime Text syntax highlighting, you can understand exactly what’s been changed in a commit. With over 40 supported languages out of the box, and automatic loading of installed third-party syntaxes, we’ve got you covered.
From our Users
Sublime Merge is the best cross platform GUI git client that I have come across in long time. Love its simplicity. Thank you! @sublimehq
Sublime Merge, it’s literally 100 times better than anything else out there.
It’s for power users, so it takes some time to master, but it’s amazing.
Omg it’s so easy to remove a line from a commit in #SublimeMerge.
Real Git
When you’re using Sublime Merge, you’re using Git. View the exact Git commands you’re using, and seamlessly transition between the command line and Sublime Merge.
Powerful Search
Looking for a commit? Use find-as-you-type search to find the exact commit you’re looking for.
Your Git Client
Make it yours with an adaptable layout and powerful theming system.
Documentation FAQ
What is Git / a Git Client / Sublime Merge?
Git was originally written as a command line tool, though there are tools available to provide Git with a graphical user interface (Graphical Git Clients).
Sublime Merge is a Graphical Git Client from the creators of Sublime Text. It is powered by the same performant cross-platform GUI toolkit and syntax highlighting engine used in Sublime Text. Sublime Merge wraps around the core Git functionality, so when you’re using Sublime Merge, you’re using Git.
How do I use Sublime Merge?
Can I stage individual lines with Sublime Merge?
In fact most file-based commands in Sublime Merge also support line selections (see Making a commit)
Can I edit an existing commit?
Sublime Merge supports many commit editing operations.
Locate the commit you wish to edit in the commit graph, open the context menu, and select Edit Commit
How do I authenticate with a remote repository?
Can I diff between two commits?
Simply select the two commits you wish to diff between in the commit graph, and the diff will appear in the commit details panel.
Can I customize the keybindings in Sublime Merge?
Can I customize the theme in Sublime Merge?
Can I add custom Git commands to Sublime Merge?
Can I do X in Sublime Merge?
Sublime Merge has a lot of functionality, so your best bet is to to check the command palette or context menus. (see Using the command palette)
If you can’t find what you’re looking for, you can ask on our official forum or share feedback with the team.
Can I share feedback with the Sublime Merge team?
We love our community sharing ideas and feature requests with us.
The best way to do this is through our official issue tracker.
Documentation Getting Started with Sublime Merge
Thank you for using Sublime Merge!
Getting started with Sublime Merge is simple. In this guide you’ll be shown all the steps you need to get started.
If you haven’t already downloaded Sublime Merge, visit the download page.
Cloning an existing repository
The first step when using Git is usually cloning an existing remote repository. This process will create a copy of a remote repository on your local machine so you can begin making changes. Alternatively, if you’re starting a new project, skip to Creating a new repository.
Things you’ll need
Steps to clone a repository
Once the clone has completed, the repository will open automatically in Sublime Merge.
Creating a new repository
If you’re starting a new project, you’ll likely instead want to initialize a new Git repository instead.
Steps to create a new repository
Once you’ve done this, the new repository will open automatically in Sublime Merge.
Understanding the interface
Overview Section
Locations
The Locations column displays all branches, remotes, tags, stashes, and submodules contained in the repository.
Each item can be selected to reveal its location in the commit graph (excluding submodules). Each item also has a context menu which displays common actions.
Commits
The Commits column displays a graph of all commits contained in the repository. The commit graph is drawn as a series of commit summaries connected via coloured lines (indicating the topology of the commits).
Each commit summary contains useful information such as the commit message and author, along with any associated branches. The context menu of a commit summary also contains common actions.
When a commit summary is selected, the details of the selected commit are displayed in the Details section.
Multiple commits can be selected to perform bulk operations such as squashing or dropping commits. If multiple commits are selected, a diff of the first and last commit will also be displayed in the Details section.
Files
The Files column displays a list of all files associated with the current selection.
Details Section
The details section displays a detailed view of the selected item in the commit graph.
Pending changes
When no commits are selected in the commit graph, the current state of the working directory and index is shown in the details section. From here you can prepare and create new commits.
To create a new commit, see Creating a commit.
Commit details
When a commit is selected in the commit graph, the details of the selected commit are shown in the details section.
Commit metadata such as the commit message and author is displayed at the top of this section.
Below the commit metadata is a list of all changed files and their associated diffs (changes).
Using the command palette
The command palette is a quick way to access a vast selection of commands available to you in Sublime Merge.
For example, renaming a branch or navigating to a tag
You can open the command palette via Tools Command palette… or via Ctrl + p ( Cmd + p for MacOS).
The command palette presents a list of commands which can be filtered by typing portions of the command name you’re looking for.
You can also add you’re own custom commands to the command palette. (See customizing the command palette)
Creating a commit
Once you have made changes to any local files in your repository, your changes appear in the Pending changes section.
Modified files appear in the Working Directory section, and new files appear in the Untracked Files section. To commit new changes to the local repository, you’ll first need to stage the changes.
Staging Changes using Sublime Merge
Staging an entire file: select the Stage file button at the top of the file
Staging an entire hunk: select the Stage hunk button at the top of the file
Staging individual lines: select the individual lines you wish to stage and select Stage lines
Reviewing your changes before committing
You can review staged changes by scrolling to the Staged files section of the summary page. Alternatively, you can select each staged file tab to view the file individually.
Committing the staged changes
Begin by entering a commit message using the commit message input located at the top of the screen by default. Once you’ve entered the commit message, select the Commit button.
Commit Message Input
Fixing and editing commits
You may make a new commit, only to realise you’ve made a mistake. Maybe the commit message isn’t quite right, or you forgot to include a file in the commit.
Sublime Merge has first-class support for editing commits to handle these situations.
Editing a commit message
To edit a commits message, simply open the commit context menu and select Edit Commit Edit Commit Message…
Editing commit contents
Editing the most recent commit
To edit the most recent commit, you can use the amend functionality.
Git will now combine the staged changes with the previous commit.
Editing older commits
If you want to edit older commits, you can use the Edit Commit Contents functionality.
Locate the commit you want to edit, open the context menu, and select Edit Commit Edit Commit Contents… The selected commit will be undone, and you’ll have a chance to update the commit contents. Once you’re happy with the changes, re-commit them using the Commit button.
Select the Continue rebase button to complete the edit. If you make a mistake and want to abort the edit, select the Abort rebase button.
Note that editing older commits may produce merge conflicts which will need to be resolved. See Resolving merge conflicts.
A note about editing commits
Editing a commit makes an entirely new commit and hides the old commit (due to the way Git works). Additionally, editing a commit locally won’t update any remote commits. If the commit you are editing has already been pushed to the remote repository, proceed with caution.
Creating a branch
Creating a new branch via the command palette
Open the command palette (see Using the command palette) and select Create Branch…
Creating a new branch via the commit graph
Open the context menu of an existing commit in the commit graph and select Create branch at commit…
Creating a local branch from a remote branch
Open the locations bar, and locate the Remotes section. Right click the remote branch and select Create local branch from…
Pushing and pulling
Pushing and pulling is required to share your work with others. This is done by pushing and pulling commits to and from a remote repository.
Push and Pull Buttons
You can perform a basic pushes and pulls using the buttons located in the top-right corner of the interface. For advanced push and pull options, you can select the dropdown button located next to the main button.
Merging branches
Merge via locations bar
Merge via commit graph
Merge via command palette
Resolving merge conflicts
When merging changes to the same file, Git will try to automatically merge the changes. If it can’t do this automatically, it marks the file as unmerged and you will have to manually resolve the merge conflict.
To resolve merge conflicts, you can use the merge tool available with Sublime Merge.
Steps to resolve a merge conflict
Locate the unmerged file in the Pending changes section.
In the unmerged file header, you’ll see the Resolve button which can be selected to open the merge tool.
Merge Tool
The merge tool consists of 3 columns: Ours on the left, Merged in the middle, and Theirs on the right.
Ours and Theirs correspond to the conflicting files, while Merged corresponds to the resulting merged file. Base can also be selected to display the merge base file.
Conflicting changes are displayed with a CONFLICT marker. You can select which conflicting change to accept using the or button located adjacent to the conflicting hunk.
Once all conflicts have been resolved, you can select Save and stage to save the merged file and stage it. Alternatively, you can select Cancel to abandon the changes.
Adding remotes
To push commits to a remote repository, you may need to add a new remote.
Adding remotes via command palette
You’ll also find Delete Remote… and Rename Remote… commands within the command palette.
Setting the upstream
The upstream branch tells Git which remote branch to associate with a local branch (and is used to indicate where to push new commits).
Setting upstream branch via command palette
Setting upstream branch via locations bar
Remote authentication
When making changes to a remote repository, it’s likely you’ll need to provide authentication.
Authenticating via HTTPS
When performing an action that requires authentication on a repository using HTTPS connections, an authentication dialog will be displayed. Enter the username and password used to authenticate with the remote repository, then select the OK button.
Note that this is only available on Linux and MacOS. For Windows users, you can use Git Credential Manager for Windows. (See https://github.com/Microsoft/Git-Credential-Manager-for-Windows)
Authenticating via SSH
For SSH authentication, Git will try to use the default ssh key stored at
/.ssh/ to authenticate. You may be asked to unlock your key, in which case you can enter the passphrase associated with the SSH key to continue.
Windows: setting up PuTTY / plink / pageant with Sublime Merge
This guide assumes you have existing SSH keys you can import into PuTTY. If not, please read this guide first.
Now that the key is saved, you can enable plink/PuTTY in Sublime Merge via the preferences.
Now that Sublime Merge is using plink, the last optional step is to start pageant and load in your credentials. This ensures you don’t have to enter your SSH credentials every time you perform a remote operation.
From the first release of Sublime Merge, we talked about the simple joy of software that ‘gets it really right’. For our team it means going beyond the minimum, making software as good as it can be, and paying attention to the details.
It’s been almost two years since Sublime Merge was launched, and our focus hasn’t changed. Our aim for the newest update was to ‘get it really right’ when it comes to flexibility and customization.
Our community uses Sublime Merge in many different ways; from reviewing commits on a tablet, to writing thousands of lines of code on a desktop computer.
The latest version of Sublime Merge is packed full of upgrades, but we want to highlight some of the ways we’re giving you flexibility in the way you work. We’ve included the full list of changes at the bottom of this post (spoiler: there’s a lot)
To get started straight away, visit the download page.
Tabs. Tabs. Tabs.
As developers, we know that windows can be cumbersome. We want to give you the tools you need to focus on your work, not on managing windows.
The new update provides the flexibility to view all your projects in one window.
Repository Level Tabs
Upgraded Commit UI
We’ve re-worked the commit UI to support different workflows. You can now configure the commit message position, and toggle between individual files using file tabs. You’ll also notice the new file stats.
Upgraded Commit UI
Your Git Client. Your Layout.
With the wide variety of displays available today, it’s important to have a flexible layout that works for you. Starting today, you can simply select the layout that fits your set up. Whether you’re on your 4K desktop screen, your work laptop, or even a tablet, we’ve got you covered.
Even Faster 🚀
We’re excited to announce support for hardware acceleration in Sublime Merge. Powered by OpenGL, this will deliver significant rendering performance improvements on all platforms. It is enabled by default on MacOS, and can be controlled via the advanced section of the preferences.
What’s Next
Review Workflow
Many of us use Sublime Merge to manage and share our work, but some of us also use it to review work. File tabs have improved this process significantly, but there’s more work to do. Keep your eyes out for multiple improvements focused on improving your ability to review.
Image Diffs
If you’re using Git, chances are you’re working with images too. Just like code, it’s important to see what’s changed when modifying image files. We want to make reviewing image changes as seamless as reviewing code changes.
Plugin Support
It’s incredible to see what the community has built using the plugin system for Sublime Text. The plugin system offers the power and flexibility needed to truly personalize your experience. We know this is an important part of software that gets it really right, so we’ll be bringing it to Sublime Merge.
The Team Behind Sublime Merge
We’ve got big plans for the Sublime Merge team, and we’re full steam ahead! Our team is growing, and we’d like to welcome our new developer, David! You can thank him for features such as commit stats, the new console, and some great performance improvements in Sublime Merge.
Hello hello, I’m David, one of the software engineers at Sublime HQ. I’m usually the quiet guy that enjoys making silly jokes whenever I’m given the chance. As a programmer, I enjoy learning how to make traditional software, and writing clean compact code. In my own time I’ve been learning how to draw digitally.
Feedback
As always, we’re excited to hear your thoughts. We’ll be on the forum listening to any feedback. We also have an official bug tracker, where you can share your ideas for features.
Thank You
We know times are tough on a global scale at the moment, and our thoughts are with all of you. We’d like to take this time to thank you for your feedback and participation, whether it be on the forums or the Discord server. Through this, you have guided Sublime Merge to where it is today. We’re excited to continue delivering the best Git experience to you.
Sublime Merge 2 Changelog
General
Merge Tool
GPU Rendering
Editor Control
Text Commands
Input Handling
Rendering
Application Behavior
Syntax Definitions
Archives
About
Sublime HQ Pty Ltd
Sydney, Australia
Twitter: @sublimehq
Documentation Packages
Package Directories
Sublime Merge will load packages from three locations, each which vary by the operating system.
Zipped packages are loaded from the Packages/ folder that is a sibling to the sublime_merge executable. The location of this will depend on where Sublime Merge is installed. The most common location is listed below.
Zipped packages are also loaded from the Installed Packages/ folder in the data directory. The data directory for each platform is listed below.
Unzipped, or loose, package folders are loaded from the Packages/ folder in the data directory.
Windows
/Library/Application Support/Sublime Merge/ Default packages /Applications/Sublime Merge.app/Contents/MacOS/Packages/ User zipped packages
/Library/Application Support/Sublime Merge/Installed Packages/ User loose packages
/Library/Application Support/Sublime Merge/Packages/
Linux
/.config/sublime_merge/ Default packages /opt/sublime_merge/Packages/ User zipped packages %
/.config/sublime_merge/Installed Packages/ User loose packages
Zipped Package Files
Sometimes it is useful to look at the contents of the various packages that are shipped with Sublime Merge to understand how certain theme effects are accomplished, or the commands run by a key binding or menu entry.
Installing Packages
Currently, Sublime Merge does not have a plugin API, nor a built-in package manager. Sublime Merge will, however, automatically load syntax definitions from Sublime Text, if installed. Thus for some users, the simplest option will be to use Package Control with Sublime Text to install packages that provide syntax definitions.
If Sublime Text is not installed, it is possible to manually install packages or package files into Sublime Merge. If using the list of packages available via Package Control, it may be desirable to copy only the syntax definitions instead of installed entire packages. This is because the preferences and themes from Sublime Text will be incompatible with Sublime Merge in the majority of cases.
To install individual package files, find the package homepage via the Package Control website. In the majority of cases this will be the GitHub or BitBucket repository, and when not the homepage often includes a link to the source. Then download individual files into a new folder in the User loose packages directory.