Simple case… download one file
You can do this in the browser.
Navigate to the github site
Unix/grub at main · nevillejackson/Unix · GitHub
If you wanted the file
click on it
it will display, and there is a download button.
General case… download a whole repository
Find out the name of the repository by browsing Github
The quickemu project is at
Quickemu Project · GitHub
It has 3 repositories… quickemu, quickgui, quickemu-icons
Say you want quickemu
click on the quickemu repository and get its address
GitHub - quickemu-project/quickemu: Quickly create and run optimised Windows, macOS and Linux desktop virtual machines.
You will see a whole structure of directories and files
In your computer you need to have
apt-get install git
and you need to give git some info
git config --global user.name "Neville Jackson" your name of course git config --global user.email youremailaddress git config --global core.editor vi git config --global color.vi true
Then make a directory to download into, and cd into it
$ mkdir quickemu nevj@trinity:/common $ cd quickemu nevj@trinity:/common/quickemu
Then initialize an empty git repository in your directory
nevj@trinity:/common/quickemu $ git init hint: Using 'master' as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch <name> hint: hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and hint: 'development'. The just-created branch can be renamed via this command: hint: hint: git branch -m <name> Initialized empty Git repository in /common/quickemu/.git/ nevj@trinity:/common/quickemu
Then issue a git pull command
nevj@trinity:/common/quickemu $ git pull https://github.com/quickemu-project/quickemu hint: Pulling without specifying how to reconcile divergent branches is hint: discouraged. You can squelch this message by running one of the following hint: commands sometime before your next pull: hint: hint: git config pull.rebase false # merge (the default strategy) hint: git config pull.rebase true # rebase hint: git config pull.ff only # fast-forward only hint: hint: You can replace "git config" with "git config --global" to set a default hint: preference for all repositories. You can also pass --rebase, --no-rebase, hint: or --ff-only on the command line to override the configured default per hint: invocation. remote: Enumerating objects: 3475, done. remote: Counting objects: 100% (1465/1465), done. remote: Compressing objects: 100% (66/66), done. remote: Total 3475 (delta 1430), reused 1424 (delta 1399), pack-reused 2010 Receiving objects: 100% (3475/3475), 1.30 MiB | 1.61 MiB/s, done. Resolving deltas: 100% (2304/2304), done. From https://github.com/quickemu-project/quickemu * branch HEAD -> FETCH_HEAD nevj@trinity:/common/quickemu $
Thats all, it is downloaded.
nevj@trinity:/common/quickemu $ ls build-docs docs LICENSE macrecovery quickemu quickget README.md windowskey nevj@trinity:/common/quickemu $
You have a complete copy of the entire repo in a git controlled directory in your computer.
A git controlled directory is nothing special, it just contains a .git directory and a few other files
nevj@trinity:/common/quickemu $ ls -a . docs .github LICENSE quickget .. .editorconfig .gitignore macrecovery README.md build-docs .git .gitmodules quickemu windowskey nevj@trinity:/common/quickemu
Dont be confused by my MX prompt
it takes 2 lines. Not the usual one line prompt.
There is more to
git than that. It is used to keep versions of files , for example while making changes in writing a program. It is used by the Linux kernel team. You can add file versions to git and it remembers them, so that you can roll back to any previous version of a file. No need to keep multiple copies of file versions.
As well as pull, you can push stuff into a remote repository … you have to own the repository to do that, you cant write on someone else’s repo,… but you can read anyone’s repo… that is the idea behind Gitub, it is FOSS unless you pay to make a private repo.
I think , if you agree , we might make this message a public topic.?