Hot answers tagged

51

I highly recommend this tutorial: http://learngitbranching.js.org/ It uses a visual representation of the internal state combined with actual commands in a sandbox environment along with a step by step walk-through that I found really helpful in wrapping my head around what each command actually did when I was new to Git.


18

First, realize that you can't learn everything about Git all at once. Learn the basics to get you going. Learn the other commands as needed. Practice a lot. Git is awesome. I suggest that you learn Git from the terminal. That will build an appreciation for the IDE plugins and GUIs later. Plus, it's helpful to understand what's going on under the hood. Here ...


15

If you already use an IDE, this could be the right way for you: Git support in your IDE Many IDEs come bundled with Git support. Eclipse, for example, uses EGit for Git integration. The JetBrains IDEs also provide Git support. The text editor Atom can be extended with plugins (e.g. Git+) to provide Git support. All of those IDEs run on most common ...


13

1) Use the built-in Git GUI Git actually includes a built-in user interface known as git-gui which is great for novices learning Git for the first time. It's fairly simple to use, comes standard with Git, and is available on Windows, Mac OS X, and Gnu/Linux. Git-gui has a very simple interface that visually displays the process of staging files, creating ...


7

It probably won't fit particulary good for you, as you want the same GUI on every platform, but I want to suggest GitHub Desktop for future readers, who don't have the platform requirement. GitHub Desktop GitHub Desktop (source code available on GitHub) is a graphical Git client by GitHub, available for Mac and Windows. It's especially designed to ...


5

I have students follow through the Learn Enough Git to Be Dangerous tutorial, which goes through the basics of setting up a repo, committing, pushing to GitHub, and some simple collaboration. Git is complicated; my students are usually pretty mystified by it at first. But the nice thing about it, is that once you've learned the basics, you can do things ...


5

Oh, you're almost exactly like I was about a year ago. I understood simple version control, and had a good handle on mercurial (thanks to http://hginit.com/). I had even convinced my then company and manager to switch from CVS to mercurial, so handling a DVCS wasn't really the issue. But for whatever reason I could not wrap my head around git. And then I ...


4

Help students make improvements to a toy website with git & Github I have taught git and Github basics with this activity from OpenHatch. It was successful for helping students learn git basics: clone, add, commit, push, and pull, as well as Github basics: making an account and repo, submitting an issue, and making a pull request. In the activity, ...


4

I remember initially struggling with Git. My main problem (and I'm sure I'm not the only one) was not understanding what the various operations actually did to the DAG, blindly typing obscure commands instead. I believe that if you think in terms of the DAG, you will be able to master git very quickly, and even make sense of some apparently unintuitive ...


4

To me it sounds like your students lack an understanding of the fundamentals of IDEs and Git. if I ask them to use the command line, they will never do it. If they don't know git init and git clone (origin) then I'm sorry, they do not know Git, they should learn this first (along with push, pull, commit, status, fetch). Researching this, the stock ...


3

I learned by using StackOverflow and just by being thrown into it. As others have stated using GitHub through an IDE or Desktop version is much easier than the command line. Later on I also found the Codecademy git tutorial I prefer this method of teaching because its hands on, teaches the user how to use the command line and commands. It also helps with ...


2

I teach Java to high school students as well using Eclipse. You don't have to teach command line (much to the dismay of professionals here). Egit works fine. GitHub offers an education teacher account where you can control all of the git accounts for the students. I'm going to make up a step by step instructions for using Egit/Eclipse. It's not too bad; I ...


2

I ran into a similar challenge of simplifying the use of source control with my students. I ended up switching over to the JetBrains suite -- IntelliJ in the case of Java. The software is free for students/teachers and integrates very, very easily with Github. No command line required. Also, you will need to install git.exe on your machine. Rather than ...


2

There are a few cornerstones to master to establish a good foundation for understanding and using Git. Purpose The purpose of git is to control the history and versions of text files. There are two main problems, cooperative writing and controlling edits. E-mailing zip files is terribly inefficient. Edit/Undo is quite limited (no branching) in Microsoft ...


2

The first resource I give to students is this one: https://try.github.io/levels/1/challenges/1. I've heard great things about Github Patchwork - a mentored workshop for beginners. You may want to look into this for your students if that makes sense for your situation. At the bottom of the Patchwork site, you will find some additional guides and resources.


2

Git is a horror show of a user interface built on a fairly clean, simple, purely functional data store. I liked Ben Lynn's "git magic" tutorial, but I'm really here to urge you to try the Magit user interface built in GNU Emacs. It offers these key advantages: You get a screen that presents a visualization of the states of your working tree, your repository,...


2

I learned Git several years ago by reading Pro Git. I found that the first three chapters contain about 90% of what I use on typical projects. The rest is just gravy if you want to dig into more details. All of its examples are command-line and use Linux conventions. Since the Windows version of Git comes with Git Bash, this is not a problem. Most ...


2

How do I teach git to a teenager Git is a powerful repository system, yet much of that power is hidden behind simplicity in day-to-day operations. Like all good teaching, you need to demonstrate the fundamentals and build from there to instil understanding at the appropriate levels. What can I do to make this journey easier for me? Practice. The same ...


2

It's encouraging to see these skills start to make their way in earlier in computing education. I'm a college professor and teach (among other things) our Software Engineering class so this subject is near and dear to my heart. To answer your questions one by one: When does revision control rise to the level of a "needed understanding" for students? From ...


2

I agree with the CSTA Standards that revision control is an important skill by upper high school. My school has a GitHub account and it is good for both revision practice and for using Agile boards for task management, which is an important methodology for students to know as they move to college. I think there is value in either GUI or Command Line ...


2

As far as I understood your question, you want two things: Providing a reference solution that is not visible to the students until the course is done. Having a way for your students to define a finished solution they can (probably only virtually) "hand in"1 Providing a reference solution To achieve this, I would just create a repository containing the ...


2

It was @Torek over at stackoverflow who made a comment which I believe is the nub of the problem. It went something like The git implementers tend to emphasize implementation over policy It is the corollary to this that is hitting you and your students viz git is badly documented not in the sense that documentation is absent but in the sense that ...


2

What worked for me... was working with Git. I hadn’t used any kind of version-control software when I started college (I was a teenager!). I had mostly been using MonoDevelop to program in C#, but boy were those just not interesting or good programs. I had a little experience with the command line; I could ls and cd and the like, but nothing like the ...


1

I think you are looking for retroactive data structures. These are used with Git (ref) The MIT Open Courseware for Advanced Data Structures by Prof. Erik Demaine teaches this in Session 2: Retroactive Data Structures HTH


1

Tom Preston-Werner's wonderful Git Parable has been made into a presentation by Johan Herland. The slides, which are available in ODP and Google Slides formats, are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.


1

I know of no freely/commercially available presentations, but I do know of a site that feels a lot like a presentation as you use it: Learn Git Branching. It's interactive and gives a hands-on intro to the most basic git features as it explains them. Plus, everything is visualized in real-time, so you and your students get instant feedback on what the ...


1

I'm late to the conversation, but wanted to offer... GUI application: GitKraken Several people have mentioned other GUI applications for git. I had explored a lot of them when I decided to integrate basic git in my introductory (college) courses and found GitKraken to be far better than its alternatives, predominantly because: It is free-of-charge ...


1

I'll start by echoing the fantastic resource in FallenNode's answer (https://learngitbranching.js.org/) which visualizes git very well and game-ifies the learning experience. I also recommend: http://git-school.github.io/visualizing-git/ It's an open sandbox tool for visualizing various sequences of git commands, including situations with remote ...


1

I was just watching https://media.libreplanet.org/u/libreplanet/m/a-free-software-portfolio-the-importance-of-free-software-in-computer-science/ The presenter talk about teachingopensource.org, and how they have put together educational materials for Free and Open Source software. He says that the material is put together by teachers. see ...


1

When I was in my final year of university I threw together a quick Git cheat sheet for some fellow students I was working with who were struggling with basic use of Git. The cheatsheet is available as a bitbucket snippet. Other than that Atlassian has a freely available git gui client for Mac and Windows called sourcetree, I've found it pretty intuitive to ...


Only top voted, non community-wiki answers of a minimum length are eligible