All Projects → smashwilson → Merge Conflicts

smashwilson / Merge Conflicts

Licence: mit
Resolve git merge conflicts in Atom

Programming Languages

coffeescript
4710 projects

Labels

Projects that are alternatives of or similar to Merge Conflicts

Angularjs Atom
An AngularJS package for Github's Atom editor
Stars: ✭ 294 (-33.03%)
Mutual labels:  atom
Photon
Clone native desktop UI's like cocoa and develop native feeling applications using web technologies
Stars: ✭ 369 (-15.95%)
Mutual labels:  atom
Atom Dash
Dash documentation integration with Atom
Stars: ✭ 398 (-9.34%)
Mutual labels:  atom
Themecreator
https://mswift42.github.io/themecreator/ create themes for intellij, textmate, atom, emacs, vim and gnome terminal.
Stars: ✭ 303 (-30.98%)
Mutual labels:  atom
Reader
Free and open source feeds reader, including all major Google Reader features
Stars: ✭ 347 (-20.96%)
Mutual labels:  atom
Dotfiles
Setup and install scripts for a new machine + dotfiles for various apps. Linux, Mac, and Mac (Amazon specific) branches are included.
Stars: ✭ 382 (-12.98%)
Mutual labels:  atom
Awesome Atom Packages
📦 Some Useful Atom Packages for Web Developers !
Stars: ✭ 286 (-34.85%)
Mutual labels:  atom
Themer
themer is inspired by trevordmiller/nova and chriskempson/base16.
Stars: ✭ 4,483 (+921.18%)
Mutual labels:  atom
One Dark Syntax
Atom One dark syntax theme
Stars: ✭ 363 (-17.31%)
Mutual labels:  atom
Lein template descjop
A Leiningen template(Clojure/ClojureScript Project) for Web based desktop application with Electron (atom-shell).
Stars: ✭ 394 (-10.25%)
Mutual labels:  atom
Markdown Preview Enhanced
One of the 'BEST' markdown preview extensions for Atom editor!
Stars: ✭ 3,478 (+692.26%)
Mutual labels:  atom
Themer Gui
A graphical UI for themer. Replaced by Progressive Web App at https://themer.dev.
Stars: ✭ 337 (-23.23%)
Mutual labels:  atom
Atom Languageclient
Language Server Protocol support for Atom (the basis of Atom-IDE)
Stars: ✭ 385 (-12.3%)
Mutual labels:  atom
Atom Wakatime
Atom plugin for automatic time tracking and metrics generated from your programming activity.
Stars: ✭ 303 (-30.98%)
Mutual labels:  atom
Hexo Generator Feed
Feed generator for Hexo.
Stars: ✭ 400 (-8.88%)
Mutual labels:  atom
Handlebars
Fullest Handlebars.js templating support for Atom and Sublime Text 2 / 3. Also drives syntax colouring on Github and in Visual Studio Code. Install from: https://atom.io/packages/Handlebars and https://packagecontrol.io/packages/Handlebars.
Stars: ✭ 292 (-33.49%)
Mutual labels:  atom
Hydrogen
Run code interactively, inspect data, and plot. All the power of Jupyter kernels, inside your favorite text editor.
Stars: ✭ 3,763 (+757.18%)
Mutual labels:  atom
Flight Manual.atom.io
📖 Documentation for Atom, generated by nanoc, hosted by GitHub Pages
Stars: ✭ 435 (-0.91%)
Mutual labels:  atom
Apex Ui
Apex monochrome Atom theme UI.
Stars: ✭ 407 (-7.29%)
Mutual labels:  atom
Go Debug
🐛 A go debugger for atom using delve.
Stars: ✭ 390 (-11.16%)
Mutual labels:  atom

Merge Conflicts

Deprecation Notice

This package is deprecated and subsumed by the Git and GitHub integration that's bundled with Atom starting with 1.18.0-beta0. I highly recommend using that instead!

Build Status

Resolve your git merge conflicts in Atom!

conflict-resolution

This package detects the conflict markers left by git merge and overlays a set of controls for resolving each and navigating among them. Additionally, it displays your progress through a merge.

Installation

apm install merge-conflicts

Features

  • Conflict resolution controls are provided for each detected conflict.
  • Choose your version, their version, combinations thereof, or arbitrary changes edited in place as a resolution.
  • Navigate to the next and previous conflicts in each file.
  • Track your progress through a merge with per-file progress bars and a file list.
  • Save and stage your resolved version of each file as it's completed.

Using

When git merge tells you that it couldn't resolve all of your conflicts automatically:

$ git merge branch
Auto-merging two
CONFLICT (content): Merge conflict in two
Auto-merging one
CONFLICT (content): Merge conflict in one
Automatic merge failed; fix conflicts and then commit the result.

Open Atom on your project and run the command Merge Conflicts: Detect (default hotkey: alt-m d). You'll see a panel at the bottom of the window describing your progress through the merge:

merge progress

Click each filename to visit it and step through the identified conflicts. For each conflict area, click "Use me" on either side of the change to accept that side as-is:

conflict area

Use the right-click menu to choose more advanced resolutions, like "ours then theirs", or edit any chunk by hand then click "use me" to accept your manual modifications. Once you've addressed all of the conflicts within a file, you'll be prompted to save and stage the changes you've made:

save and stage?

Finally, when all of the conflicts throughout the project have been dealt with, a message will appear to prompt you how to commit the resolution and continue on your way. 🎉

onward!

Key bindings

To customize your key bindings, choose "Keymap..." from your Atom menu and add CSON to bind whatever keys you wish to merge-conflicts events. To get started, you can copy and paste this snippet and change the bindings to whatever you prefer:

'atom-text-editor.conflicted':
  'alt-m down': 'merge-conflicts:next-unresolved'
  'alt-m up': 'merge-conflicts:previous-unresolved'
  'alt-m enter': 'merge-conflicts:accept-current'
  'alt-m r': 'merge-conflicts:revert-current'
  'alt-m 1': 'merge-conflicts:accept-ours'
  'alt-m 2': 'merge-conflicts:accept-theirs'

'atom-workspace':
  'alt-m d': 'merge-conflicts:detect'

For more detail, the Atom docs include both basic and advanced guidelines describing the syntax.

Events

The merge-conflicts plugin emits a number of events that other packages can subscribe to, if they wish. If you want your plugin to consume one, use code like the following:

{CompositeDisposable} = require 'atom'

pkg = atom.packages.getActivePackage('merge-conflicts')?.mainModule
subs = new CompositeDisposable

subs.add pkg.onDidResolveConflict (event) ->

# ...

subs.dispose()
  • onDidResolveConflict: broadcast whenever a conflict is resolved. event.file: the absolute path of the file in which the conflict was found; event.total: the total number of conflicts in that file; event.resolved: the number of conflicts that are resolved, including this one.
  • onDidResolveFile: broadcast whenever a file has been completed and staged for commit. event.file: the absolute path of the file that was staged.
  • onDidQuitConflictResolution: broadcast when you stop merging conflicts by clicking the quit button.
  • onDidCompleteConflictResolution: broadcast when all conflicts in all files have successfully been resolved.

Contributions

Pull requests are welcome, big and small! Check out the contributing guide for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].