
Upload files to your repositories - Oompa
https://github.com/blog/2105-upload-files-to-your-repositories
======
johnloeber
I think this is a great step, for several reasons -- both corporate and user-
facing.

(1) It is true that this is more likely to turn GitHub into a generic file-
dump place similar to DropBox. GitHub's infrastructure is sufficiently good to
handle this, and this new addition is unlikely to disrupt the workflow of
veteran users. However, since it is likely that some companies will use GitHub
for file dumping, GitHub will be justified in charging companies a fee for
particularly large repositories -- capitalizing on the file-dumping. I sense
an alternate revenue stream coming in for GitHub.

(2) I've often run into situations in which I had written a small script and
wanted to quickly turn that into a GitHub repo. To do so, I'd have to go
through the online interface to initialize a new repo, and then make a folder
on the command line, type a few commands, etc. Though it's a very short
process, I couldn't understand why I couldn't just use the online interface to
type up a readme and then drag-and-drop my script into the repo. The update
smooths this work experience.

(3) Obviously, it'll make GitHub far more accessible to less technical users
-- some users are intimidated by the Git learning curve, and this update makes
them much more likely to use GitHub (and then slowly learn the ropes of using
it via the command line).

(4) By inviting more non-technical users as in (3), it becomes more likely
that (1) succeeds.

~~~
sdesol
> (3) Obviously, it'll make GitHub far more accessible to less technical users

I'd have to imagine this is probably the main driving factor. As GitHub tries
to make further inroad into Enterprise, I can see them focusing more and more
on making things more accessible to non programmers (project managers,
secretaries, etc.)

I really won't be surprised if 5 or 6 iterations down the road, you'll have
the option to change the repo landing page. For example, instead of showing
the files in a repo, you'll just see the README markdown file. And before you
know it, they (GitHub) will start marketing GitHub Enterprise as a competitor
to Confluence and other wiki/document management system.

~~~
derefr
The "repo landing page" is already handled, somewhat, by GitHub Pages—the
idiomatic repo setup is to have a GitHub Pages site "about" your software,
linked from the description field of the repo; to link Release downloads
directly from the GitHub Pages site, bypassing the repo; and to link to the
repo from the GitHub Pages site under a "view source" or "contribute" Call-to-
Action. The repo itself, with its README.md, then serves just to document the
_implementation_ —setup, usage, release notes, etc.—rather than to describe,
explain, or teach you how to use the software.

Speaking of GitHub Pages, this feature complements it perfectly. Now you can
create a GitHub-powered website—including images et al—without touching git,
in much the same way you'd use one of those "FTP web interface" panels on a
VPS. Except that each upload becomes a commit, rather than just mutating some
ephemeral folder somewhere.

------
minimaxir
This feature has interesting synergy with GitHub Pages, where .md files can
simply be dragged-and-dropped into a folder to get published as a blog post on
the web.

It may be enough to remove the must-be-programmer-who-understands-git barrier
to entry, anyways.

EDIT: GitHub Pages still requires specific file naming for posts and YAML
front matter, so it's not perfectly non-programmer friendly. It might be a
good idea to write a tutorial as a blog post/screencast, though.

~~~
melling
You mean .org files, right? :-)

I keep notes on Github that never touch a filesystem. I do my edits from a
phone or tablet. If I have a lot to write, I'll use an app then copy directly
into Github. Most of my notes are personal but I started breaking them out a
couple weeks ago so I could keep them in public repos.

[https://github.com/melling/ErgonomicNotes](https://github.com/melling/ErgonomicNotes)

[https://github.com/melling/EditorNotes](https://github.com/melling/EditorNotes)

Why not work directly in the version controlled cloud? Books, blogs, etc could
be managed this way. No proprietary formats, no backups to worry about, and
you aren't going to lose it if someone steals your device:

[http://www.nydailynews.com/entertainment/tv-
movies/francis-f...](http://www.nydailynews.com/entertainment/tv-
movies/francis-ford-coppola-laptop-stolen-article-1.247700)

~~~
lucaspiller
> Why not work directly in the version controlled cloud?

What do you do if you need to work offline? You are on a plane and forget to
sync something, or for whatever reason you can't access to repository (maybe
China is DDOSing GitHub again?). This is also one of my main gripes about
cloud based editors, it's great if you have internet access but if you don't
or you have a poor connection (e.g. public wifi) you are SOL.

I use Write (iOS) and NVAlt (OS X) which sync via Dropbox, so I always have a
local copy of my notes.

> no backups to worry about

Please don't solely rely on companies to store your data. They can and do lose
peoples files [0].

[0] - [http://www.zdnet.com/article/dropbox-sync-glitch-results-
in-...](http://www.zdnet.com/article/dropbox-sync-glitch-results-in-lost-data-
for-some-subscribers/)

~~~
melling
People lose data too at a much greater frequency. if you're paranoid about
Github, create crown jobs to automatically pull your repos.

------
whorleater
This is actually a pretty good step. Most programmers are already using some
kind of UI/command line to push to Github, but having a simple drag and drop
for uploads will get those who are less technically inclined on our teams to
actually use version control more. At least I really hope I can stop dealing
with the "asset_1", "asset_1-2", "asset_1_USETHISONE" that some people do.

~~~
hire_charts
The problem is that this kind of workflow -- where someone iterates through
multiple versions of a file or folder, renaming them each time -- results from
the work they are doing offline and the lack of offline version control usage.
Adding a step where you drag and drop your iterations into a website might
only add to the confusion, rather than actually alleviating that pain.

------
cdnsteve
All I want is a Wiki search.... pretty please. Wiki file uploads (images) at
very minimum that aren't commited to git. The process now is to create an
empty issue, drag the file over, copy the URL and paste it into the Wiki page.

~~~
adregan
I'd love to be able to search in branches. Especially on projects that commit
to master and have release branches when they are between releases.

~~~
imron
Well, as long as we're discussing search wish lists, I'd love case-sensitive
search.

~~~
sdesol
Just an FYI, my product solves yours and your parent post wish:

[http://gitsense.github.io/](http://gitsense.github.io/)

Search/code management metrics are done at the branch level and there will be
case-sensitive searches. The indexers are already building case sensitive
indexes, it's just that it hasn't been enabled.

Unfortunately I can't say when the indexer will be available for private use
at the moment.

Edit:

Forgot to mention that because the indexing is done at the branch level,
searching across branches to verify what is/isn't present is pretty trivial
like the following example:

[http://gitsense.github.io/images/gitsense-
on-4.png](http://gitsense.github.io/images/gitsense-on-4.png)

~~~
imron
Looks interesting.

I'll return the FYI and let you know it wasn't immediately obvious that there
were arrows I could click on to see what else it was your product can do.

~~~
sdesol
Thanks for the feedback. I've had a sneaky suspicion that people weren't
really getting a full idea of what the product does. I've been meaning to add
more visual cues like dots on top of the image to indicate that there are
multiple pictures/feature highlights.

~~~
imron
I'm not sure the dots would provide more of a visual cue either.

What's wrong with separating the descriptive text from the images, and making
people scroll down to read more?

------
ErikRogneby
Has anyone seen a way to disable this feature at a repo or org level? I'm not
crazy about master getting treated like Dropbox.

~~~
munificent
> Has anyone seen a way to disable this feature at a repo or org level?

Don't hand out commit rights to people?

------
tlrobinson
To clarify, by "upload files" they mean adding and committing new files to a
git repository. At first I thought there was some other way to add files to a
project.

------
douche
Hmm, it almost seems like the recent brouhaha lit a fire under GitHub...

~~~
emehrkay
I've always been impressed with how often they release new features, it
actually seems like a weekly thing for GitHub. I don't think that the events
of the past two weeks accelerated that process at all.

~~~
connorshea
Looking through their blog, they had a dry spell from November 16 (release of
the new Repository look) to January 27 when they released the new Markdown
comment editor. This is, of course, because of the holidays. Then they
released the improved GitHub Importer on February 11 and now PR/Issue
Templates and File Uploading yesterday and today.

Prior to the repository redesign, they released Git LFS and the Integrations
Directory on October 1. So they had a full month and a half between feature
releases not attributable to the holidays.

I definitely appreciate the work they've done in the past few months, but I
also think it's disingenuous to say that the last month didn't cause them to
double down on developing new features.

------
juandazapata
I like how Github is taking note about the lack of innovation, and doing the
right thing; but I'd like to see the blog post announcements AFTER the feature
is implemented. It's like saying "Oh, you're thirsty? I'm going to give you a
glass of water, but not yet, next week"

~~~
yolesaber
I see a file upload banner when I look at my repos. Probably A/B testing

~~~
jastanton
Probably just rolling out the features slowly is all.

------
petetnt
This new feature makes it quite easy to use a GitHub repo as a generic file
dump / share place.

~~~
fiatjaf
Which may cause the ruin of the platform.

~~~
jkereako
How so? Do you mean that source code hosted on GitHub will be diluted with
useless code?

~~~
fiatjaf
Yes, and useless pictures of cats.

------
kekub
Finally you can have all kinds of creatives using github without telling them
how to use the command line or even the github desktop apps. Thank you github.

------
milge
Github has needed this for awhile. I was using Cloud9 for awhile to push
changes to github when all I really wanted was this feature.

------
djadmin
Can anyone explain what's going on here
[https://github.com/wardowsmcc/badass](https://github.com/wardowsmcc/badass) ?

------
r0m4n0
Awesome... I can think of 4 or 5 times I have been away from my laptop but
still need to update a photo for a client. Glad to see this, otherwise I would
have never known it had been added!

Slightly brings up an interesting point. With native apps, I usually review
release notes upon updating. Webapps get to release whenever they please to
little notice of the end user (for better or worse). With releasing new webapp
functionality, bug fixes, etc "continuously" I think some cool bits get
overlooked...

~~~
roblabla
GitHub has a pretty extensive changelog in the form of blog posts. They also
put them on the github.com homepage, top right (the broadcasts).

It's true that every webapps don't do that though, and that's a real shame for
the "power users".

------
Joeboy
Github pages is now the right way to set up a reasonably-smart-n00b-editable
website, IMO.

~~~
nilved
Maybe for a Hacker News n00b, but a garden variety n00b has not heard of
Markdown, YAML, or, for that matter, GitHub. They're going to keep using
WordPress, Tumblr and Squarespace.

~~~
Joeboy
Well, the reason I said that is that a year or so ago I set up a gh-pages
website for a person who I doubt could tell you what any of those things are.
She's done fine so far, except that any time an image needs uploading I have
to do it on the command line.

------
hasenj
Why doesn't github have a proper discussion forum per project? I don't
consider the "issues" a proper discussion forum.

That seems to me like it would be much more valuable, specially for community
projects.

~~~
derefr
Presumably because discussion forums aren't anyone at Github's expertise.
They're a whole product of their own.

~~~
hasenj
This argument could be made against wikis and issues and static websites (and
file uploads).

I think a discussion forum is integral to any open source project. People
traditionally use mailing lists, which have an awful UX in my opinion. A
moderately better alternative is google groups, which is basically just a
nicer UI for a mailing list.

------
dogweather
I'd really like to know the inside details: what changes have they made to
release new features quickly like this? Have they been bogged down in process?
Or just lack of pressure to release improvements?

------
baristaGeek
Already tried it, and I absolutely love it!

It was something we were waiting for for a long time. Now GitHub is light
years ahead of its competitors because of this -seemingly small, but actually
important- UX change.

------
rwinn
I'm a bit confused, this is a simple git add or some sort of integration with
git lfs they released last year?

[https://git-lfs.github.com](https://git-lfs.github.com)

~~~
yoavm
It's just a web interface to git add.

------
soyuka
[https://twitter.com/vvoyer/status/700575291433836544](https://twitter.com/vvoyer/status/700575291433836544)
this

------
krisdol
Just to be clear, this appears as if it's some kind of web wrapper to `git add
file.ext && git commit -m "<my message>" && git push`?

~~~
hasenj
It's more like the "edit file" feature where you can edit in-place on the
github web interface directly.

It makes github a more complete "gui" for git.

To be honest I don't feel that this is the right approach. But I'm a technical
user so who knows. But it feels like github is forking off to a different
direction.

Probably trying to look more "inviting" to corporate users; companies where
sales are determined by non-technical managerial users. I can easily imagine
such types asking questions like: "I want to upload a file to my team's repo,
how can I do that?".

It would make it way easier for non-technical users to mess up the repo with
tons of binary files, like images, movies, word documents, and excel sheets.

------
nibs
Fun fact: you can hack this right now by dragging and dropping a file (ie.
image) into the issues submission box and then using that URL in your code to
display images.

~~~
ChristianBundy
I'm confused, haven't you always been able to do that? The issue submission
box has always allowed image uploads.

~~~
flashman
Yeah, this has been the workaround for a while. But when you see users doing
stuff like this, it's a pretty strong signal that you need to think about
supporting their intention with a dedicated feature.

------
bluedino
Wait, so you couldn't add a file via the web before? I haven't used github
except for pulling the source to projects but I would expect this was feature
#1.

~~~
im_the_internet
Well as it's based on git, before you just had to push it via the command
line.

~~~
ChristianBundy
No, there's always (read: for a long time) been a "New file" button that takes
you here:
[https://github.com/user/repo/new/branch](https://github.com/user/repo/new/branch)

~~~
fasdfasdf2016
The "New file" button cannot create a new binary file. This features lets you
do that.

------
beeforpork
Upload from the browser? O tempora o mores!

------
ocdtrekkie
As someone who makes a lot of casual edits via the web interface, I was really
sad that to fix an image file once, I had to install the desktop client and
clone the entire repo. This is a great change.

------
UncleSam
This is awesome! I was just barely wanting to upload a file to one of my
repositories, but I didn't feel like cloning it to this computer.

