Giter VIP home page Giter VIP logo

brackets-git's Introduction

Brackets-Git build status

Brackets-Git is an extension for Brackets editor - it provides Git integration for Brackets. It's tested and works on any platform supported by Brackets (Windows, Mac OS X, GNU/Linux).

Installation

Dependencies:

To make Brackets-Git work you'll need Git installed in your system:

  • Windows: Git for Windows is recommended with these settings.

  • Mac OS X: Git for Mac is recommended.

  • GNU/Linux: Install the package git:

    sudo add-apt-repository ppa:git-core/ppa
    sudo apt-get update
    sudo apt-get install git
    
    • RedHat/CentOS/Fedora: sudo yum install git

Extension installation:

To install latest release of Brackets-Git use the built-in Brackets Extension Manager which downloads the extension from the extension registry.

Configuration:

Extension can be configured by opening the Git Panel and clicking the settings... button. Alternatively you can use File > Git Settings... in the Brackets menu.

Features and limitations

You can find some samples of features here.

Currently Brackets-Git supports these features (this list may be incomplete as we add new features regularly):

  • init / clone / push / pull
  • create / delete / merge branches
  • select / define / delete remotes
  • checkout / reset commits
  • show commit history
  • manage different Git settings
  • support for Git-FTP (installation instructions)

A comprehensive list of Brackets-Git features is available reading the CHANGELOG.md. Most of the features available are configurable and it's possible to enable and disable them selectively. If you can't find the feature you were looking for, feel free to open an issue with your idea(s).

Pull/Push to password protected repositories: Push/Pull from and to password protected repositories is partially supported, currently it works only with http / https repositories.

The Git Credential Manager for Windows (GCM) is recommended to manage password protected repositories, Brackets-Git will eventually provide better support for them. You'll need to push manually the first time to setup your username/password into the credentials helper.

Working with SSH repositories: SSH protocol is currently a bit more difficult, so you'll have to use command line or try to follow these tips:

  • Linux

  • Mac OSX

    • Create a ssh pair key with the following command on the terminal $ ssh-keygen -t rsa -b 2048 -C "[email protected]"

    • Enter a "Secure" passphrase or alternatively hit Enter twice if you don't want a passphrase "Not Recommended"

    • You should be given a string like the following "99:ff:ff:4b:bb:2d:d3:17:h6:6d:f0:55:4d:f0:b4:db [email protected]"

    • Pay attention to this line "Your public key has been saved in /Users/USERNAME/.ssh/id_rsa.pub." the *.pub is what you want here, take note that the names may vary.

    • Now start the SSH agent "eval "$(ssh-agent -s)" " Which should give you output like this "Agent pid 77398"

    • Next type "ssh-add ~/.ssh/id_rsa"

    • Next we want to copy the SSH key into your clipboard, there are two ways of doing this.

      • Method #1 type into Terminal "pbcopy < ~/.ssh/id_rsa.pub" taking note of before that "Your file" is named "id_rsa.pub". If it is not, change it to whatever yours may be called. That's it proceed to next step.
      • Method #2 if for some reason you can't do method #1 this is your alternative. Find the id_rsa.pub key or otherwise named.pub key and open it with a text editor, copy the whole key including email into your clipboard (command + c). That's it.
    • DO NOT DELETE THE FILE!

    • Now we add the SSHKEYFILE.pub to the authorized_keys onto the git server (GitHub website).

      • Login to GitHub
      • Click your avatar -> Settings on the top right corner
      • Click the left hand side menu "SSH and GPG keys" -> New SSH Key
      • Input the name of this key, in my instance I named it "Macbook Pro Git Key"
      • Paste your key with (command + c) or right click Paste
      • Click "ADD KEY" and you're done (NOTE: You may be asked for a password)
    • Now to test if everything is Working In Terminal Type after the $ "ssh -T [email protected]" Type "Yes" And close.

    • If it does not connect, check your Internet and that you have not missed a step :)

  • Windows (Go to point 3 if you have already a RSA key already generated)

    • Create a ssh pair key with PuttyGen RSA with 2048 bytes. Don't add any password. Save the PPK and upload the public key to the git server.
    • Add the PPK key to the Putty agent.
    • ONLY IF YOU HAVE A RSA Key already from the server. You need to convert the private key to PPK. With PuttyGen load the sshkeyfilename (this file comes without extension, after loaded save it as private key. After that load this key in Putty Agent.
    • Insert (if not already) the pub key to the server inside the folder /root/.ssh/authorized_keys. (edit with vi the file authorized_keys and paste the pub key content on the file.)
    • Putty manage the private keys with a SSH agent always present in the task bar.

Some screenshots:

main
Main panel of Brackets Git

history
History panel of Brackets Git

history-details
Details view for a specific commit

commit dialog
Commit dialog

settings dialog
Settings dialog

Contributing

Please see CONTRIBUTING.md

brackets-git's People

Contributors

albertinad avatar azakur4 avatar cheesypoof avatar dangoor avatar ficristo avatar gilly3 avatar jannae avatar karuturi avatar larz0 avatar macbookandrew avatar mackenza avatar mattbell87 avatar matthaywardwebdesign avatar miguelcastillo avatar narcarsiss avatar nmorenor avatar omikorin avatar peey avatar peter-burns avatar petetnt avatar phillip-haydon avatar polo2ro avatar rainje avatar rodrigost23 avatar saplayer avatar vinz243 avatar wormeyman avatar yfwz100 avatar zaggino avatar zivoradmilekic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

brackets-git's Issues

Failed to connect to node

[Please describe your problem here]


Brackets 0.35.0-10897 (linux) & Brackets-Git 0.7.2

Failed to connect to node

Max connection attempts reached

Hide Untracked

Nice plugin and helpful.

I thought a helpful feature might be to hide untracked files or to collate them by directory in the list.

bug commit

ich kann leider kein commit mehr machen.


Brackets 0.35.0-10897 (mac) & Brackets-Git 0.7.11

Hang when starting Brackets if brackets-git is installed

If I have brackets-git installed then Brackets will just hang during start up and won't get past the grey window part.

I'm almost sure it hangs when trying to open the files I was working on the last session, because they are in a git repo that has been initialized, but nothing been commited yet.

I can't seem to find any error logs that could help determine the problem, and since the app hangs straight away (without any CPU or disk usage BTW), I can't access the developer tools.

System is Ubuntu 13.10 64bit with all the latest updates, Node 0.10.15.

UI and extent of project

@zaggino thanks for the quick implementation of the untracked files.

How much of the git functionality (amend commit, tags, log, remotes, etc.) are trying to provide in the Brackets GUI?

I've also noticed that depending on screen/window size, the buttons overlap. If more features are added, the space with the buttons will become crowded quickly. Is there a plan to change how the buttons are shown? (I don't have an idea, just curious).

Extension failed to load

Win7, Brackets 32 (clean installed), installed Git. Tried to install the git extension via brackets extension management. It shows me in brackets "Extension Error". Here is the output:

failedtoload_git

If you need more informations, please let me know!

Add run command option

It would be nice to have Run command option for advanced repository setup. :)

It should execute given [git] command in shell.

Preparing commit dialog failed

[Please describe your problem here]
Tried to commit a renamed file.
File was renamed using the following git command on command line.

git mv one.html one/index.html

The git pane on Brackets shows this on the file:

Modified,Renamed,Staged   one.html -> one/index.html

Brackets 0.35.0-10897 (mac) & Brackets-Git 0.7.7

Preparing commit dialog failed

fatal: ambiguous argument 'one.html -> one/index.html': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Git functionality to file popup menu

Would be nice to have things like adding file to gitignore by right-clicking it and selecting Git -> Add to ignore. Especially as Brackets hides files that start with a . so you need to edit the file somewhere else.

Needs more error reporting

The plugin doesn't report errors in any way, which the user sees as broken buttons/plugin (clicking fe. commit button doesn't do anything, must be broken).

For example I ran into a problem where mapped network drive from virtual computer lacked permissions for the command line git to work. However, as the plugin didn't tell me anything, I assumed the whole plugin was broken.

Same with pulling and non-committed changes which, in this case, the plugin didn't show at all. So, when the pull request failed due the non-committed changes, there was no error reporting and again, led me to believe the whole thing was broken. :)

Git Pull/Push Function

I notice that clicking "Git Pull" doesn't do anything. Am I correct in assuming that, perhaps, its always trying to pull from "origin".

Maybe we can add support to somehow have a drop down of remote locations? We can do a "git remote -v", parse the string result and place it under "Git Push To" and/or "Git Pull From".


Brackets 0.35.0-10897 (win) & Brackets-Git 0.7.6

Change Branches

Would be nice if we could create, change, merge branches.

This is really common to create a feature branch. Right now I have to do this outside of brackets.

The problem is unlike Sublime Text 2, brackets does not auto update files, and your extension does not auto update the branch your on.

So i have to reload brackets every time I make a new branch.

Would be nice for this to be more seemless, and allow us to add braches, change them and merge them from the UI. All whille updating the files brackets has loaded.

Initial issues

Had a new project in Brackets IO, couldn't see a way to do a "git init" so created it in terminal. Couldn't find a way to add all. Couldnt find a way to add remote. Push didnt do anything. Pushed via terminal. Edited a file, clicked commit and no commit editor, just seemed to do nothing. Clicked push and came back with a response saying it had pushed when in fact it hadnt.

I think this extension has great potential but its lacking at the moment but don't take my issues as criticisms just areas to improve for a clean install etc.

Thanks for the extension 😄

Cannot summon Git window from view menu or status bar

When I click the Cross on the right-hand corner to hide the Git window when I'm not using it, I expect to be able to re-enable it by clicking Enable Git or something like that in the View menu, or by clicking the Git field in the status bar. Neither work, unfortunately (and so far I have found no other way to re-enable the window...).

Adding either of these ways to re-show the Git window would be an intuitive addition, to me.

how to push and pull?

Hi! i don't get how do i push or pull the commits.

So here i set up a new repo on Github, then i cloned it to a local folder with GIT for windows, and pushed some files. Now i opened one of the files in Brackets and modified one line. Next i see the change in the list, so i can commit it and write a comment. Git Push button changes to Git Push (1), and then i press it. Now the button is always pressed. nothing happens. what's next?

image

thanks

Preparing commit dialog failed

Added file to .gitignore and tried to commit it.


Brackets 0.35.0-10897 (win) & Brackets-Git 0.7.11

Preparing commit dialog failed

error: insufficient permission for adding an object to repository database .git/objects
error: .gitignore: failed to insert into database
error: unable to index file .gitignore
fatal: updating files failed

Preparing commit dialog failed

[Please describe your problem here]


Brackets 0.35.0-10897 (linux) & Brackets-Git 0.7.11

Preparing commit dialog failed

fatal: Failed to resolve 'HEAD' as a valid ref.

Failed to register node domain

[Please describe your problem here]


Brackets 0.35.0-10863 (win) & Brackets-Git 0.7.2

Failed to register node domain

cleanup

Commit not working on Linux

I am using Ubuntu 12.04 x64 with Brackets Sprint 34 and everything is working find except commit. When i select the files and click on commit nothing happens.

I don't get any errors on my console either.

Is this a known problem? Is there anyway for me to debug this to give you more info about this situation?

Ignores .gitignore

The .gitignore file in my repo containts (among others):
node_modules/
git status doesn't show the node_modules files but the plugin does.
Now I get a very long list with node_modules and the one file I actually changed.

Corrupted images

Pushing images with brackets-git results in corrupted raw images. I used png files, after push they are corrupted on both local and remote repository.

Thanks for this awesome work!

Pushing to remote repository failed

Unable to push commits to a private github repository. It does not ask for a login/password.


Brackets 0.35.0-10897 (win) & Brackets-Git 0.7.11

Pushing to remote repository failed

Error: cmd-execute-timeout: git push --porcelain 
Error: cmd-execute-timeout: git push --porcelain 
    at file:///C:/Users/Fabien/AppData/Roaming/Brackets/extensions/user/zaggino.brackets-git/src/Main.js:173:35

Preparing commit dialog failed

[Please describe your problem here]


Brackets 0.35.0-10897 (mac) & Brackets-Git 0.7.7

Preparing commit dialog failed

fatal: pathspec '.DS_Store -> app/.DS_Store' did not match any files

Disable colors

The most of Git users (including me) uses colors.

For example, when I run git diff it shows colors. --no-color option must be used, or output will be unreadable. Please disable colors in output in this extension.

Mercurial support (HgControl.js)

Hi. Thank you for extention. Very helpful.

Can you add Mercurial?

Its work if change few commands.

git --version => hg --version
git rev-parse --show-toplevel => hg root
gi rev-parse --abbrev-ref HEAD => hg branch
git status -u --porcelain => hg status --color never

And we got
hg

P.S. Status codes.

Git

X          Y     Meaning
-------------------------------------------------
          [MD]   not updated
M        [ MD]   updated in index
A        [ MD]   added to index
D         [ M]   deleted from index
R        [ MD]   renamed in index
C        [ MD]   copied in index
[MARC]           index and work tree matches
[ MARC]     M    work tree changed since index
[ MARC]     D    deleted in work tree
-------------------------------------------------
D           D    unmerged, both deleted
A           U    unmerged, added by us
U           D    unmerged, deleted by them
U           A    unmerged, added by them
D           U    unmerged, deleted by us
A           A    unmerged, both added
U           U    unmerged, both modified
-------------------------------------------------
?           ?    untracked
!           !    ignored
-------------------------------------------------

Mercurial

M = modified
A = added
R = removed
C = clean
! = missing (deleted by non-hg command, but still tracked)
? = not tracked
I = ignored
  = origin of the previous file listed as A (added)

Will not detect new/renamed/deleted files in Brackets Sprint 34

This extension uses the ProjectManager "projectFilesChange" event, which has been removed. In the next release of Brackets, the extension will not notice file tree changes because this event no longer fires.

It should be straightforward to switch to the new FileSystem "change" & "rename" events. You can release this update in advance if you want, since users of Brackets Sprint 33 (the current release) will still be able to install the older version of your extension that is compatible with their build.

See the migration guide and discussion thread for details.

Not a GIT repo

When I open a git repo (myproject.git/) the plugin says that is "not a git repo".

Actually it is, I can pull commit etc using the windows GIT tool.

I'm on Windows 7 and 8, 64bit, and the problem happens on every version of Brackets I've tried, even the experimental S35.

Check Git settings: [object Object]

Hi,

Sorry for the lack of info here but I can't get this extension running at all (Same issue on latest Edge Code).
Windows 8 64,
clean brackets install (sprint 35 experimental build 0.35.0-10897),
Git installed (added to path),
nodejs installed (added to path),

Tried installing the extension both from extension manager and from this repo, I get the same error, brackets fires up and the icon turns pink.
Check Git settings: [object Object]

been playing with all kinds of git settings so maybe I'm just missing something simple here, burning the midnight oil.

Git Pull Button does not show errors

When I click on the Git Pull-Button, nothing happens. Now I found out the reason of this (in the beginning, becaue "git pull" wasn't set up yet to use origin/master as merge branch; then, because the fast-forward pull failed). But it would be nice to see this errors in a window (maybe even as a question "There are changes on the remote side. Do you want to merge them?"). Also, the Developer Console didn't show the errors either.

Problem with untracked files

When I create a new file using brackets, that file is marked untracked. Then i check the checkbox and press commit but nothing happens.
I get this error in developer tools
new_file_error
new_file

Will not save preferences. Always displays preferences when starting up projects.

Just installed this extension. Now every time I start brackets it asks me for the location of git. I enter the value and click save. The dialog pops up asking if I would like brackets restarted to start with the new settings. I click yes, brackets restart and asks me for the location of git. The value in the box is NOT what I previously set, but to a location that does not exist (/usr/local/git/bin/git).

I have to uninstall as this extension is driving me nuts. Every time I switch workspaces I get this dialog.

The panel opens when switching projects...

... when one is a git project and the other isn't, and if I have the panel closed it gets annoyed to have to close it again when switching projects.

Thanks for the extension :)

Does not show modified files.

It seems like the widget is no longer showing modified files in the new version of Brackets.

It's hard to tell because this repo has a lot of untracked files, so the list is buried in them. Is there a way to hide untracked files in the widget?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.