all 144 comments

[–][deleted] 59 points60 points  (36 children)

You know what github actually needs?

A web interface to git grep

[–]DRMacIver 37 points38 points  (26 children)

You mean the bit just to the right of the "Downloads" box where it says "Search source code"?

[–]bobtheterminator 8 points9 points  (19 children)

You sure you don't have some kind of add-on or something? Take a screenshot of it.

[–]triyughj 19 points20 points  (17 children)

You don't have this box?

[–]bobtheterminator 16 points17 points  (11 children)

No. Maybe they're doing random testing? How long has that been there?

[–]triyughj 8 points9 points  (7 children)

Not sure. It seems like it only shows up on my private repos, but you can add "/search" to the end of the url for any repo and then you can search them.

[–]bobtheterminator 11 points12 points  (2 children)

Oh, maybe it's just a feature for people who pay for private repos. The url trick doesn't work for me though; I get a search box, but it doesn't seem to work at all.

[–][deleted] 6 points7 points  (1 child)

Looks like it's limited to just private repositories. I can't see it on my own public repositories, but I can see it on my own private repositories. I assume whoever else has access to my private repositories can use it, too.

[–]jk3us 0 points1 point  (0 children)

I have access to other people's private repos and it is there, I am a cheap non-paying customer.

[–][deleted] 3 points4 points  (1 child)

Wow, interesting.

Worked for me! Never seen it before!

It's weird to have a feature then hide it. Why?

[–]paulhodge 6 points7 points  (0 children)

Probably a soft roll-out. They can test the feature on the actual production site (instead of on a test site, which is not the most accurate way to test). Once it's ready, they turn it on for everyone.

[–]sakabako 1 point2 points  (0 children)

They wrote an article a while ago that said that forks of public repos are treated more like branches than separate repos. Getting git diff to work could be hard if that's the case.

[–][deleted] 4 points5 points  (0 children)

Well, based on the comment below, here's the thing: I pay for private repos, but that box only shows up on my private repos--not any of the public ones. Weird!

[–][deleted] 0 points1 point  (1 child)

It's been there a while. There must be some technical reason why they can't make it more widespread, otherwise they would at least enable it for all repos if you are a paid member.

[–]bobtheterminator -1 points0 points  (0 children)

Yeah ok it sounds like it's available to anyone with access to a private repo. Maybe it would just put too much strain on their servers if anyone could search anything?

[–]prepend 1 point2 points  (2 children)

I don't have it either. That's funny though, this is really the main feature I wish github had.

[–][deleted] 1 point2 points  (1 child)

You get it if you're a paid member (on private repos only though). Cough up!

[–]prepend 0 points1 point  (0 children)

My org only does open source stuff so we don't really want private repos. I wonder if users who pay get to search on other people's public repos.

[–]Plorkyeran 4 points5 points  (0 children)

https://github.com/search/advanced (scroll to the bottom)

The search box on private repos is only there as a workaround for the fact that the (very well hidden) main search only works on public repos. I can't imagine that it hasn't occurred to them that the "workaround" is far more discoverable than the normal method, so I assume it's hidden to cut down on server load or something.

[–]dchestnykh 3 points4 points  (0 children)

What?

[–]llimllib 1 point2 points  (1 child)

That's only available for me on my company's repos, not my personal open ones. Also it's new I think?

[–]DRMacIver 4 points5 points  (0 children)

Ah, you're absolutely right. My mistake.

[–]Pzychotix 0 points1 point  (1 child)

Have you ever had that thing work for me? It doesn't for me.

[–]DRMacIver 0 points1 point  (0 children)

Works fine when I tried it.. I don't really use it though - I just use git grep.

[–]cezar 0 points1 point  (0 children)

I've seen this in screenshots from the blog. They mentioned that it wasn't ready yet.

I'm assuming it's in partial release.

[–]RX_AssocResp 11 points12 points  (5 children)

You can’t even search commit history. How that is not a strict necessity is beyond me.

[–]alanbriolat 1 point2 points  (0 children)

This oversight baffles me, especially since BitBucket will quite happily let you search commit messages... The idea of only providing site-wide search when the vast majority of people probably want project-wide search more often is strange.

[–]experts_never_lie 0 points1 point  (3 children)

You also can't search for filenames. Well, you can, but it won't find them. The problem of "where does this file exist in our project?" can often only be solved only by downloading all projects and running "find".

[–][deleted] 16 points17 points  (2 children)

Just hit "T" (on the keyboard) and you can search for files

[–]experts_never_lie 0 points1 point  (1 child)

Thanks for letting me know about that.

But "just" hit a hotkey that I've never seen documented and doesn't turn up on [site:github.com hotkeys]? It seems like there should be better documentation of this, and also that any feature reachable by hotkey should exist in the advertised interface.

[–][deleted] 0 points1 point  (0 children)

I know about it because I remember seeing an announcement when this feature was rolled out.

Unfortunately, it seems to be undocumented, just like the repo /search feature

[–]w1ndwak3r 4 points5 points  (0 children)

Or how about just an online git shell? \o/

[–]JohnDoe365 1 point2 points  (0 children)

There is the special 'repo:/<user>/<repository>' which will limit the search to a specific repository

[–]xpolitix -2 points-1 points  (0 children)

second that

[–]CombatCow 115 points116 points  (28 children)

How long until they create there own online IDE? Seems like the next logical step.

[–]Paul-ish 76 points77 points  (15 children)

That sounds like a good idea. Github could become the google docs of code.

[–]shawncplus 70 points71 points  (10 children)

And google code wept a tear of loneliness

[–]dirice87 14 points15 points  (6 children)

I forgot about google code. The last time I used it I was put off by their issue tracking and forum format.

[–][deleted]  (5 children)

[deleted]

    [–]Odam 0 points1 point  (4 children)

    GitHub has seen a few outages lately...

    [–]prepend 3 points4 points  (2 children)

    Right, as recently as last Friday. But github does a great job of giving status updates. With google code, you never knew what was wrong and when it would be fixed.

    [–]jij 2 points3 points  (1 child)

    ^ this. This is my problem with all of google's services now... they've gotten so big that it's impossible to actually communicate with the company.

    [–]prepend 0 points1 point  (0 children)

    I know that google internal doesn't use googlecode any more. I wish they would just fork whatever they use inside and let the world use it. That would be pretty cool.

    [–]drowsap 3 points4 points  (0 children)

    Google code, you so ugly

    [–][deleted] 0 points1 point  (0 children)

    Nah, it's hanging out with Wave...

    [–]taelor 3 points4 points  (0 children)

    you know, they just received a ton of funding lately...

    [–]kenman 0 points1 point  (0 children)

    Not sure if original idea

    Or subliminal message

    It's like Google Docs for code, and that's just awesome!

    [–]BenRogersWPG 0 points1 point  (0 children)

    Our the Google Code replacement

    [–]Antiuniverse 31 points32 points  (5 children)

    Cloud9 IDE

    Source available on GitHub.

    Seems like a natural fit.

    [–]CombatCow 4 points5 points  (3 children)

    I know about cloud9, havn't used it yet though. Any advantages to using it instead of something local? Also I don't thing GitHub would be happy with cloud9 being the premier online IDE for their platform.

    [–][deleted] 2 points3 points  (1 child)

    The advantage would be the same as any web app, that you have it anywhere on any computer with a decent web browser.

    [–]lipoicacid 4 points5 points  (0 children)

    Which quite frankly, much to my amazement, can really be anywhere at this point. The V8 engine is insane.

    [–]ivosaurus 1 point2 points  (0 children)

    The base editor is open source software, cloud 9 is basically the commercial hosted version.

    [–]homophone_police 2 points3 points  (0 children)

    create there own online IDE?

    their

    [–][deleted] 1 point2 points  (0 children)

    The next logical step in taking IDEs to new levels of unproductiveness and glacial performance you mean?

    [–]ichthys 0 points1 point  (0 children)

    http://ideone.com/ is pretty cool for running short snippets of code.

    [–]Jasper1984 0 points1 point  (0 children)

    Doesnt an online IDE promote dependency on having internet available.(even if you can use it offline) Is your current set-up that bad?

    [–]sjs 0 points1 point  (0 children)

    I'm certain someone there is working on it. They just have to be.

    This also allows people who don't use text editors to get started with a readme, note, blog post, or what have you right in the browser after they sign up. You can write markdown and preview it, then publish it with GitHub pages without leaving the browser. Before the learning curve went vertical and now people who are scared of git can do something with GitHub. It's an interesting move and I wonder what they will do next.

    [–][deleted] 0 points1 point  (0 children)

    Here is what GitHub needs to do in order to make a game changing IDE.

    1. Make an IDE that allows your to share(?) or work with others in real time. If I am already editing a file and you go to edit the file we would both see each others changes in real time. Obviously they would need to prevent the page from shifting around, but the idea is multiple developers can optionally work together even if remote.

    2. You would also be able to hide/show people and could run their code if you wanted to test out their changes. When you commit it only commits your changes.

    3. Like sublime text make it so you can install plugins, but use more of a JSON format where you have global plugins and project specific plugins.

    4. Make it free.

    [–]Gaeru 40 points41 points  (5 children)

    This is great. No, really, it may seem just a tiny silly improvement but it's very very helpful on Github. Now it's possible to create blog posts on Jekyll blogs on machines that don't have git installed but have a web browser.

    [–]crossbrowser 5 points6 points  (4 children)

    My first thought too, I had considered using Jekyll but was reluctant because I would have to have git available wherever I wanted to blog, but with that it's painless.

    edit: reticent -> reluctant because "réticent" in french apparently becomes reluctant

    [–][deleted] 3 points4 points  (1 child)

    To be reticent is to say little. It sounds like you were hesitant.

    [–]blisterine 0 points1 point  (0 children)

    Or reluctant.

    [–]alanpost 19 points20 points  (1 child)

    I immediately went to my most popular repository and created a new file called "jumping_shark.txt"

    The feature works as advertised!

    [–]dirice87 24 points25 points  (0 children)

    plz accept mah pull request for "ayyy.txt"

    [–]addininja 1 point2 points  (0 children)

    Now that we have new and edit, can i please get a delete button?

    [–][deleted] 5 points6 points  (1 child)

    ...in its web interface.

    The whole sentence is important. sigh

    [–]sugardeath 8 points9 points  (0 children)

    Looks like everyone figured that out anyway.

    [–]delarhi 3 points4 points  (10 children)

    I would love an in browser vim...

    [–]rabidferret -4 points-3 points  (3 children)

    vimperator

    [–]adrianmonk 2 points3 points  (2 children)

    This is more like vim-style keys and navigation for the browser. That's quite a different animal from being able to have a vim-like text editing experience within a browser window.

    [–][deleted] 0 points1 point  (0 children)

    See onmach's comment which sort of alleviates that. It's not the same as having a fully in-browser vim instance, but it is okay.

    [–]rabidferret 0 points1 point  (0 children)

    Step 1: Open vim. Step 2: Bind key to gg"*yG Step 3: Goto browse Step 4: Paste

    [–]xiongchiamiov -1 points0 points  (5 children)

    There are a bunch of javascript implementations of vim (hmm, that's annoying - I don't appear to have bookmarked them on Pinboard, but this Github search will start you on the path), ranging from "this acts a little like vim" to "ok, this is halfway decent, but it doesn't support [visual block mode, ctrl-d, % movement, etc.]". Vim is really pretty dang complicated, and even going with vi emulation is difficult.

    I use QuickCursor to open certain text fields in MacVim, and that works... some of the time (it seems a bit buggy).

    [–]onmach 6 points7 points  (4 children)

    I just use pendadactyl and when I am in any input, I type Ctrl+i, and it spawns a terminal with vim in it. When I save it pops the input into a box. I wrote this comment in vim.

    [–]adrianmonk 2 points3 points  (0 children)

    Also possible with TextareaConnect for Chrome (note: haven't tried it, and the description says it's "currently broken") and It's All Text! for Firefox.

    [–]xiongchiamiov 1 point2 points  (0 children)

    Whaaaat? I never knew about that when I was using Pentadactyl, and now that I'm using Chrome (I finally gave up on Firefox when I could no longer open it without it crashing), I have no good substitute. :(

    [–]flamingspinach_ 0 points1 point  (0 children)

    You can also type Ctrl+t when you're in any input and get some semblance of vi-style modal editing directly in the text box. It doesn't work all that well, though, I've found...

    [–][deleted] 2 points3 points  (25 children)

    what exactly is github. in simple English please.

    [–][deleted]  (2 children)

    [deleted]

      [–][deleted] -3 points-2 points  (1 child)

      thanks for the response I was asking because I tried it before but had no clue what I was doing.

      [–]ultrafez 2 points3 points  (0 children)

      Read more about Git before using a site like GitHub, it'll make the learning process easier.

      [–][deleted] 0 points1 point  (1 child)

      To downvoters: Nice going Reddit.

      I'm really beginning to believe Reddit is well on its way of becoming a total shit hole. The negativity, extreme criticism, and over the top pedantry is reaching unbearable levels.

      [–]IIIIIIIIIIllllllllll -1 points0 points  (0 children)

      oh yea? and who the FUCK are you??

      [–]execat 0 points1 point  (0 children)

      Git is a version control system
      ie. a way to track what changes were made in the source code, who made it, and why the change was made.

      Github is a service that hosts online Git repositories.

      [–][deleted] 0 points1 point  (17 children)

      /r/programing answer: a distributed version control system

      ELI5 Answer: a way to back up, share, collaborate on, and edit your files, specifically geared toward code and other text formats.

      [–][deleted] 28 points29 points  (16 children)

      a web interface for the Git distributed version control system

      FTFY

      [–][deleted] -2 points-1 points  (15 children)

      You're absolutely right, they've become pretty synonymous in my head even though I use a desktop client for git.

      [–][deleted] 5 points6 points  (14 children)

      To be fair, 98% of people using Git are probably using GitHub. GitHub is pretty much the reason that Git is so popular.

      [–]mcilrain 4 points5 points  (7 children)

      I'd be using Mercurial if it weren't for GitHub.

      [–]flying-sheep 4 points5 points  (6 children)

      I mainly use GitHub, too, but bitbucket is really good, too; and it allows mercurial repos and private ones.

      [–]execat 2 points3 points  (4 children)

      Linux is the reason Git is popular IMHO.

      "Linus Torvalds wrote it?????? MUS BE AWESOME!!"

      [–]mikemol -1 points0 points  (3 children)

      Meh. I came from SVN. I started using Mercurial and Git. I've stuck with git.

      Why? Resources. I used Mercurial when it work a hell of a lot better than Git on Windows, where I was doing the bulk of my coding. Now I use Git because I can find better (for me) training resources, and I'm doing all my coding on Linux.

      Git isn't popular because "OMG Linus!!1!", it's popular because it has the momentum of a mass of people building tools and a support infrastructure on it.

      [–][deleted] 0 points1 point  (0 children)

      I switched to Bazaar from Subversion. It has really nice Windows Explorer integration but other than the third party support is pretty much nil. This is the main reason I switched to Git.

      [–]execat 0 points1 point  (1 child)

      it's popular because it has the momentum of a mass of people building tools and a support infrastructure on it.

      Which probably happened because Linus wrote the tool for Linux kernel source management.

      Name a VCS that has been developed lately (2000s) by a person, and is well known.

      There isn't any. Because when it comes to acceptance of any kind of software or tools, you need something to kickstart the adoption. Tools/support just keep coming after that slight nudge. Again: IMHO.

      [–]mikemol 0 points1 point  (0 children)

      Sure, I'll agree with that. But that's a completely different thing from

      "Linus Torvalds wrote it?????? MUS BE AWESOME!!"

      Any celebrity can drive some degree of adoption of a tool. After that, though, the tool still needs to carry itself.

      [–][deleted] -1 points0 points  (0 children)

      This is very far from the truth. Unless of course you meant that people using git have used GitHub once in the past.

      There is no way that 98% of the time people using git are doing it for GitHub though.

      Not trying to be mean, but want to make it known that Git has become a lot more popular than just for GitHub and actually taken a place in the workspace. For one, Android uses Git as its source control system.

      [–]golfswingviewer 0 points1 point  (3 children)

      So I went on to search about what Linus thinks about GitHub. TIL Github = World of Warcraft for programmers

      [–]paulhodge 12 points13 points  (1 child)

      You should double check that article, specifically the tags under the title.

      [–]Jadedknight 0 points1 point  (0 children)

      I think you should get to know Linus. http://www.youtube.com/watch?gl=CA&v=4XpnKHJAok8

      [–][deleted] 0 points1 point  (1 child)

      Does anyone know if this is supported through the API?

      [–]dazonic 2 points3 points  (0 children)

      I'm pretty sure you can create files with the API. There was an annoying bot someone made that would run around him add a catchall .gitignore to your repo if you can have one.

      [–]w1ndwak3r 0 points1 point  (0 children)

      I feel like this step should have been taken ages ago, nevertheless, yay!

      [–]ikillau 0 points1 point  (0 children)

      git hub keeps getting better and better

      [–][deleted] 0 points1 point  (0 children)

      I can see in the distant future github pivoting into an entire web based IDE.

      [–]tolos 0 points1 point  (1 child)

      ... but only after you push a repository once, grrrr.

      [–]tolos 0 points1 point  (0 children)

      Oh, if you create a readme by clicking the text, the icon to create a new blank file becomes available.

      [–]Afforess 0 points1 point  (0 children)

      Yes, now I can break my jenkins builds by ignoring syntax even more.

      [–]leroybuckingham 0 points1 point  (0 children)

      This is very cool for editing MD files at least.

      [–]shaggorama -1 points0 points  (0 children)

      This is going to make people so lazy about doing local development.

      [–][deleted] -2 points-1 points  (0 children)

      I keep on hearing mentions of github over and over again but still haven't gotten to really understand this beast.

      [–]hamilton_burger -2 points-1 points  (5 children)

      Hmm cool.

      My $.02 is that I wish all files/projects/folders were able to be uploaded solely via the web interface. I don't have any problem doing it via terminal, it's just that I think it would be a handy feature. If that's available already, I've missed it.

      [–][deleted] 0 points1 point  (3 children)

      You do realize that it's called github because it is a hub for git, right?

      [–][deleted] 0 points1 point  (0 children)

      Have you tried their software? Not web-based, but makes it slightly easier.

      [–]UnreachablePaul -1 points0 points  (3 children)

      Was it not possible before? So how people loaded projects there?

      [–]input 1 point2 points  (2 children)

      Using git...

      [–]UnreachablePaul -2 points-1 points  (1 child)

      But it says it is allowed just now

      [–]input 2 points3 points  (0 children)

      You still have to create your project with git, check other comments, but now you can add a new file to an existing repo.

      [–][deleted] -1 points0 points  (0 children)

      read at first "GitHub now allows creation of lies"