github
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
github [2018/05/02 19:51] – jeferson | github [2019/03/15 13:20] (current) – [- Initializing git from a previously created local repository] pericles | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | For a complete tutorial of Github usage [[https:// | + | ====== Git ====== |
- | Important commands: | + | Git is a system for version and shared edition control of codes. GRUMEC uses Git for registering the edition history of computational mechanics implementations and scientific papers writing in LaTeX. |
- | < | + | ===== GitHub ===== |
+ | |||
+ | //GitHub// is an online platform where you can host and share your git repositories and projects. After git is installed in your machine, it is necessary to configure an username and an email. [[https:// | ||
+ | |||
+ | <code> | ||
+ | git config --global user.name [" | ||
+ | |||
+ | git config --global user.email [" | ||
+ | </ | ||
+ | |||
+ | There are two basic ways of synchronizing a local repository to a remote one: | ||
+ | |||
+ | ==== - Initializing git from a previously created local repository ==== | ||
+ | |||
+ | Open terminal and navigate to the local repository folder. Then type | ||
+ | |||
+ | < | ||
+ | git init | ||
+ | </ | ||
+ | |||
+ | This will initiate git in your program. However, git does not know yet the files that you want to be tracked. To do this, you need to use the command | ||
+ | |||
+ | < | ||
+ | git add [filename] | ||
+ | </ | ||
+ | |||
+ | If you want all the files to be tracked by git, just use a " | ||
+ | |||
+ | < | ||
+ | git commit -m [" | ||
+ | </ | ||
+ | |||
+ | For example, let's assume that you just tested your FEM code for the static case, however you did not finish yet the implementation of the dynamic part. Then you can use the following command: | ||
+ | |||
+ | < | ||
+ | git commit -m [" | ||
+ | </ | ||
+ | |||
+ | If you are responding to an issue (let's say, issue #1), then you can use the following command: | ||
+ | |||
+ | < | ||
+ | git commit -m [" | ||
+ | </ | ||
+ | |||
+ | This will allow you to know exactly how the code was when you commited a change. Although the local repository is being tracked by git, it is not linked with a remote repository like github for instance. We can do that by calling: | ||
+ | |||
+ | < | ||
+ | git remote add origin [repository-location] | ||
+ | </ | ||
+ | |||
+ | in which repository-location is the weblink to the remote repository, for example [[https:// | ||
+ | |||
+ | < | ||
+ | git push origin [branch] | ||
+ | </ | ||
+ | |||
+ | and your github username and password will be requested. | ||
+ | |||
+ | |||
+ | ==== - Cloning an existing remote repository ==== | ||
+ | |||
+ | When there is an existing remote repository and you want to clone it to your machine and start working on it, you can do this by means of | ||
+ | |||
+ | < | ||
+ | git clone [repository-location] [folder] | ||
+ | </ | ||
+ | |||
+ | considering repository-location the source link to the remote repository you are cloning and folder is an optional argument if you want to specify the folder in your computer where the repository will be located in. | ||
+ | |||
+ | Whenever you want to check either if a file is being tracked or if there are unsaved changes, you can use the command | ||
+ | |||
+ | <code> | ||
git status | git status | ||
+ | </ | ||
- | git add | + | ==== Branches ==== |
- | git commit | + | A branch indicates how the code flows. It is really helpful for co-works and when several people work simultaneously in a same code. When a new repository is created, usually it has only the branch master. To create new branches the command is |
- | git push | + | < |
+ | git checkout -b [branch name] | ||
+ | </ | ||
- | git pull | + | by doing this the code flow is divided in two branches: master and a new one. Every change that you make in the new branch, the master one will remain intact. Suppose that after several changes you would like to merge the branches again. This can be performed by typing: |
- | git checkout | + | <code> |
+ | git merge [branch | ||
+ | </code> | ||
- | git merge <branch> | + | By doing that, those two branches become just the master again,and every change that were previously made in the alternative |
- | </ | + | |
- | '' | + | Research group codes hosted on Github: |
- | '' | + | - [[https:// |
github.1525290671.txt.gz · Last modified: by jeferson