RoPod/Tutorials/Configuring GitHub: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
No edit summary
 
(22 intermediate revisions by 3 users not shown)
Line 3: Line 3:
<div STYLE="float: left; width:60%">
<div STYLE="float: left; width:60%">


In order to keep track of the changes made within the software of the entire project (so we know who screwed up :)) and have the ability to revert a the software to a previous revision, we are using version control. We will use GitHub for this. Every team member has the full history available, and can always stored his changes and go back to previous versions, even if he or she is off-line. However, note that we will use a central server every team member stores his or her changes to, and loads the changes others made from.  
In order to keep track of the changes made within the software of the entire project (so we know who screwed up :)) and have the ability to revert the software to a previous revision, we are using version control. We will use GitHub for this. Every team member has the full history available, and can always store his changes and go back to previous versions, even if he or she is off-line. However, note that we will use a central server every team member stores his or her changes to, and loads the changes others made from.  


Get familiar first with Git repositories https://git-scm.com/doc, and the used concepts: i.e. branches, commits, push, etc.
Get familiar first with Git repositories https://git-scm.com/doc, and the used concepts: i.e. branches, commits, push, etc.


Create an account in guthub https://github.com/, it will allow you to do changes to the repository
'''Create an account in github https://github.com/, it will allow you to do changes to the repository'''


Install Git in your system: https://git-scm.com/downloads
Install Git in your system: https://git-scm.com/downloads


<pre>sudo apt-get install git </pre>
<pre>sudo apt-get install git </pre>
 
At this point you might want to follow this tutorial to get hands on experience on how a repository works: https://git-scm.com/docs/gittutorial. For now you can also continue to get a quick example on how to commit files.
At this point you might want to follow this tutorial to get hands on experience on how a repository works: https://git-scm.com/docs/gittutorial. For now you can also continue to get a quick example on how to comit files.


= Example =
= Example =
Create an account at https://github.com/. Then, send your username to the administrator of the RoPod repository (Currently César López). Next, configure git in your laptop
Send the username of your github account to the administrator of the RoPod repository (Currently César López) so that you can be added as contributor of the ropod project, you will receive a link back in your email in which you can accept the invitation to the project. Next, configure git in your laptop


<pre>git config --global user.name "USERNAME used in GitHub"  
<pre>git config --global user.name "USERNAME used in GitHub"  
git config --global user.email "Mail_used_in_Git_Hub@domain.com"</pre>
git config --global user.email "Mail_used_in_Git_Hub@domain.com"</pre>


Create the ropod folder, which will be common on all laptops to keep the integration process smoother (Later we might find a way to not require this):
Create a test repository in your account, then clone it in any location in your computer by:
 
<pre>sudo mkdir /home/ropod</pre>
 
Set write permissions:
<pre>sudo chmod 777 /home/ropod</pre>
 
Switch to the newly created folder:
 
<pre>cd /home/ropod</pre>
 
Initialize a git repository:
 
<pre>git init</pre>
 
Add the ROPOD test branch repository to your GIT
 
<pre>git remote add origin https://github.com/tue-ropod/ropod-project.git</pre>
 
Then clone the repository and switch to the testbranch for this tutorial


<pre>
<pre>
git clone https://github.com/tue-ropod/ropod-project.git
git clone https://github.com/_your_username_/_repository_name_.git
cd ropod-project
</pre>
git checkout InittestBranch</pre>


Check the online repository, for now mostly only readme files:
For now, we will make a small demonstration on how to work with git in your repository.  
https://github.com/tue-ropod/ropod-project/tree/InittestBranch


Now, suppose you want to add a file. You can make a test by creating a test file and add  it, commit it and push it into the repository:
Now, suppose you want to add a file. You can make a test by creating a test file and add  it, commit it and push it into the repository:


<pre>cd ropod-project/documentation/reports
<pre>cd _repository_name_
echo "My first test file to add, commit and push into the repository" > YOURNAME_testfile.txt</pre>
echo "My first test file to add, commit and push into the repository" > YOURNAME_testfile.txt</pre>


Line 75: Line 53:


You will be prompted the username and password created in the github website.
You will be prompted the username and password created in the github website.
Now, if you check the online repository at https://github.com/tue-ropod/ropod-project/tree/InittestBranch you should see your file online.
Now, if you check the online repository you should see your file online.
 
As it is impossible to work without Matlab, lets [[ RoPod/Tutorials/Matlab Installation | install ]] it now.


As it is impossible to work without Matlab, lets [[ RoPod/Tutorials/Matlab Installation | install ]] it now.
</div>
</div>

Latest revision as of 12:57, 17 August 2020

In order to keep track of the changes made within the software of the entire project (so we know who screwed up :)) and have the ability to revert the software to a previous revision, we are using version control. We will use GitHub for this. Every team member has the full history available, and can always store his changes and go back to previous versions, even if he or she is off-line. However, note that we will use a central server every team member stores his or her changes to, and loads the changes others made from.

Get familiar first with Git repositories https://git-scm.com/doc, and the used concepts: i.e. branches, commits, push, etc.

Create an account in github https://github.com/, it will allow you to do changes to the repository

Install Git in your system: https://git-scm.com/downloads

sudo apt-get install git 

At this point you might want to follow this tutorial to get hands on experience on how a repository works: https://git-scm.com/docs/gittutorial. For now you can also continue to get a quick example on how to commit files.

Example

Send the username of your github account to the administrator of the RoPod repository (Currently César López) so that you can be added as contributor of the ropod project, you will receive a link back in your email in which you can accept the invitation to the project. Next, configure git in your laptop

git config --global user.name "USERNAME used in GitHub" 
git config --global user.email "Mail_used_in_Git_Hub@domain.com"

Create a test repository in your account, then clone it in any location in your computer by:

git clone https://github.com/_your_username_/_repository_name_.git

For now, we will make a small demonstration on how to work with git in your repository.

Now, suppose you want to add a file. You can make a test by creating a test file and add it, commit it and push it into the repository:

cd _repository_name_
echo "My first test file to add, commit and push into the repository" > YOURNAME_testfile.txt

You have created the YOURNAME_testfile.txt, which you will add to version-control:

git add YOURNAME_testfile.txt 

Now the file is added to version control but is not committed yet, run:

git status

and you will be able to see that the file was added and not committed yet. You can indeed add more files if desired. Next, commit the file:

git commit -m "Here you can add a comment to this commit, i.e. commit test "

Always try to put a meaningful comment in the message field of your commit. In this way other people know what is your commit for. By the way, after three months it could be really useful for yourself as well! Now run again:

git status

Notice that there is nothing to commit but you received the message that your branch is ahead of ‘origin/InittestBranch’, which is the branch we are using in the online repository.

git push -u origin InittestBranch

You will be prompted the username and password created in the github website. Now, if you check the online repository you should see your file online.

As it is impossible to work without Matlab, lets install it now.