Beginner questions

I think I completed a pull request, my first one. But it was strange because each step involves guessing what to do; the tools don’t guide one through the entire process. My memory is not very good, but my first step (since I had no idea how to start) was to find a tutorial on the Web. It said to fork the repository and showed me where the tiny fork button was. I clicked that and the repo was imported into my Document directory and I was switched to the Windows Desktop (I wanted to do all operations in GitHub itself, but apparently that can’t be done). The WD application helped me to open the file I wanted to edit, so I edited in my change. Then I used WD to release the change (it is not called releasing, though). I have no idea what that did. I went back to the GitHub repo and clicked Pull Requests, but did not see my request. I kept looking around and discovered a tiny button next to the file itself in Code > Master to submit a pull request, so I clicked that. I saw a comparison that highlighted the change I had made. There was a button to Close Pull Request, but I had no idea what that meant, so I didn’t click it.

Is this the usual experience of a newcomer? Did I do okay? Did I miss any easier way to get this done? Is there a really good tutorial out there for doing simple things like this on Windows or on GitHub (I don’t want to use the “git” command line)?

Hi @david263! :wave:

There is, unavoidably, quite a steep learning curve when using Git and GitHub, sorry!

We have some great interactive tutorials in our learning lab you might find useful!

If you’re looking to avoid using the command line, you can do almost everything in the GitHub Desktop client - have you tried using that?

Here’s the guide to installing it, and getting it all set up:

…and then this series of help articles explain how to use all the basic functions:

…including creating pull requests:

I’m not sure what happened when you said “I clicked that and the repo was imported into my Document directory and I was switched to the Windows Desktop” because it is possible to do a lot of work in the GitHub web interface -it shouldn’t dump you to the desktop like that? Working on a local copy of the repository with the GitHub Desktop client and a fully featured text editor such as Atom or VS Code is much more powerful, though, so it’s worth investing the time to learn how to use these tools.

Good luck on your learning journey!


Thank you for trying to help. Does GitHub send email notifications when someone answers here?

I have tried using the tutorials, but they are all about the command details, not explaining how to find relevant source code, edit it, then create a pull request, which is my understanding of the main way in which GitHub is used. I’ve done some experiments, but my pull requests either never get through or they are ignored, I can’t tell which.

I have put two of my own projects into repos, but there are no bug reports or any other kind of activity, even after years. One project is a way to communicate securely using Diffie-Hellman and the other is a very compact JSON dialect for program configuration. You would think there would be some interest in these.

One final desperate question: why are source files listed with a description of the last edit instead of a short description of what the file actually does? Those last edit descriptions are very distracting to a beginner trying to search through many source code files in several subdirectories. My text editor supports searching for a string in all the files in a directory or its subdirectories–why can’t GitHub or Git Desktop do the same thing?

I submitted a pull request to a project one month ago but have not received the courtesy of a response. Am I stuck or can I complain about the owner not responding?

Not really: Github (and git in general) is used for sharing code and collaborating on it. The understanding of the code and which parts are relevant for a particular issue is a separate skill. If you struggle with the latter I recommend looking for tutorials on the relevant programming languages, concepts, and libraries, not git (or Github) tutorials. Or you could try asking specific questions over in #programming-help-and-discussion.

Simple: Git doesn’t know about that. Git manages files and the record of their changes, the meaning of those files is left to humans (and sometimes other tools). It’s good practice to include documentation in repositories in some form, starting with READMEs and comments in code files, and sometimes a lot more (e.g. a dedicated doc/ or docs/ directory). Check for those. Unfortunately not all repositories have them, but many do.

You could leave a polite comment asking if they could please take a look at your pull request, and if there’s anything you could improve to get it merged. But do not complain, unless you have a support contract or something you are not entitled to their time.

One useful thing to do before trying to contribute is to check if a repository is actively developed. If the owner hasn’t committed anything, or reacted to issues/pull requests in a couple of months they’re likely focused on other things. Except maybe if the project is very mature and there’s rarely a reason to change anything. If there isn’t active development that doesn’t mean you shouldn’t contribute, but don’t expect a speedy response if you do.

And of course, check the contributing guidelines if there are any, usually in a file or a README.