We do have a major issue deploying GitHub in the classroom. As the client won’t allow a default user install, each student needs to install it every time they log onto a new pool machine. As students are not allowed permanent installs and their pool machine changes, we have no way of deploying it in a time effective manner, we cannot devote 10-15 per lab session for install time.
Ideally we would install the GitHub client on the default user account so all user could access it on any system as needed. As many educational establishments would have the same issue, could this be a fix we could request?
This would make the new class deploy below much more useful.
I second this. Apparently since it installs into the profile it has to be downloaded and installed EVERY time it’s used, which takes at least 15 minutes. Students have complained about this.
We looked at SourceTree as an alternative but it now requires an Atlassian account, which I don’t want to have to bother students with.
Are you using any specific IDE or just a generic text editor? Many modern IDEs have basic GIT functions included by default or available as a plugin (e.g. Visual Studio (Code), Eclipse, etc.).
Besides that I’d also prefer a global installation for all users.
@rleinfellner I’ve heard feedback like this before, it’s often difficult or impossible for individual users to install the desktop client on machines that are locked down and further, configuration settings (like connected GitHub accounts) need to be configurable on a per system user account basis.
Are you using Windows or Mac? Any other more specific information you can provide would be really helpful.
I’ll pass this thread along to our GitHub Desktop team so that they get this feedback.
What are the key features of the desktop client that you’re after for use with your students, maybe I we can help recommend an alternative that’s available right now.
We use PC’s in the lab with Windows 8/10.
All the S/W used by students is pre-installed via a master image before the academic year starts, so they get Unity, Visual Studio, Adobe creative Suite etc. These are all installed “For all users” in the master image, so when the image is deployed they can use them all, on any machine in the lab.
Students log in with their profile, they do not have install rights on the machines, other to than to their profile, which is wiped when they log off.
As we cannot install the standard GitHub client (or in fact any other one) “for all users” prior to imaging they would need to install it every session, which is not feasible time wise.
So for the most part we just don’t use it, even though we think it would be a valuable part of the module, its just too difficult to handle this each session on all the machines.
In the ideal world, we could install this for all users then image and have the client use a setting in the user profile to store their own credentials, then they could use it on any machine in the lab, without needing to install.
Send me a private message and I can let you have my phone number if you wish to get more detail.
Thanks for the additional info and offer to connect @rleinfellner. I’ve shared this with the desktop team (who are likely not awake yet) and hope they’ll report back here with some comments.
At UEL we mainly use Unity, at Goldsmiths we use a variety of IDE’s so I don’t want to be plugin specific, a standalone client would be best
Of course, which isn’t really unique to GitHub’s App. Many programs allow you to choose whether you’d like to install a program just for yourself (i.e. inside your profile) or for all users (e.g. C:\Program Files). The actual user profile information would still always be saved in your (roaming) profile.
That would be the case if the GitHub client allowed a “For all users” install, which it no longer seems to. Hence each user has to install which is not feasible in a floating PC lab.
We struggle to use GitHub in the classroom due the way the client has to be installed per user.
I the typical classroom environment students are not allowed to install any software, its all pre-installed at the start of the academic year “for all users” and then used on the 3-40 floating lab machines, which no student may use twice during a term.
The GitHub client does now allow an install for all users, so the only way we can use it is to have the students install on their profile, but this is wiped when they log out. This means every lab session they need to install, which time does not allow. Pretty much all the GitHub clients, including the official one, have this issue.
What we need is a GitClient which allows a “all user install”, we can then image before term starts along with all the other S/W such as Unity and VSS allowing students to use this with their own credentials.
The solution cannot rely on any students having to do any installing as this is not allowed, or even if they can install it won’t stay installed.
Any ideas welcome.
Would the functionality directly on the Github website works? Inside your repository you can create files, upload and even edit them online.
We’d really like to teach them how to use a client, so this falls short of the requirement. Right now its borderline if we teach GitHub at all, so any barrier just makes it less likely it gets adopted.
We don’t have issue with VSS, Unity etc deploying via a “for all users” install, just seems a shame we can’t do the same with the GitHub Client.
With 40-60 students to deal with in 60-90 minutes whatever we do needs to be easy, repeatable and foolproof.
@rleinfellner I’m one of the Desktop engineers at GitHub, so I’ll follow up on @johndbritton’s initial answers.
The decisions we made with the Desktop installer meant we favoured making it easy to get started (no elevation needed, everything lives under %LOCALAPPDATA%) and ensuring everything is up-to-date.
Unfortunately shared computer scenarios like this (where %LOCALAPPDATA% is cleaned up after the session) are ways in which our current installer isn’t up to scratch. We also use %APPDATA% for storing user-specific settings, but perhaps there’s some extra details about your scenario that I’m overlooking.
Supporting this sort of scenario is on our radar for the future, but unfortunately I don’t have much news to report currently. I’m not sure if you’ve looked into the upstream Git for Windows project, but they have an up-to-date version of Git that you could use as part of the master image.
This single problem has prevented us from using the nice GitHub client in our one-room-schoolhouse. I simply cannot risk having one student sign out and not having his or her stuff crushed by the class following. I could setup individual accounts for every student, but, um, no.
We have made do by creating a command-line server with a Linux account for each student and teaching our students to use our
save and other helpers there and we setup their
ssh keys for them. (And yes, even eight year olds are ok with
vim although codeanywhere.com removes the dependency on
vim for those that want it.)
By the way, even Chrome has this problem. We also force our students to log in with Incognito for any Chrome session to not stomp on each others’ CodeCombat.com, Code.org, and other cached credential sites.
We also just don’t use Windows for anything significant because the command line just isn’t there. Setting up a cloud Ubuntu Linux machine on Digital Ocean is trivial and teaching students to use it via codeanywhere.com is very doable even for young students—particularly if you are stuck with Windows machines.
It would be very useful to allow for an install in escalated mode which turns on the install for all option.
This should be a relative simple fix which still meets the no escalation requirement for most non imaged installs
I have looked at the other windows client and it also requires a per user install
We are still unable to use Git int he classroom because of the lack of a “all user install” for the client. Will this be remedied?
Slack’s desktop client, at least on Windows, also suffers from being installed on a per-user basis. Their workaround is to provide an installer that is run on user login. When executed, it performs a check to see if Slack is installed for the user. If it isn’t installed, then the installer is launched and Slack is henceforth installed for that user.
It could be a relatively simple fix for the desktop team to implement, but I’m not sure how it’s put together so I wouldn’t speculate.
Thank you for sharing your work-around.
That would work normally, however we have 40+ machines and students can use any to log in, when they log out the profile is deleted. We just don’t have 5-10 each class to have them install S/W with all the potential support that goes with it.
So sadly had to abandon using GitHub in my classes.
NB none of this is an issue with Unity, Unreal, Photoshop, Max, Maya etc. they are all installed and used by all without any issue. Its just down to how the client’s installer works.
We face a similar situation in our classrooms.