= Usage SwarmLab gitea!
Apostolos rootApostolos@swarmlab.io
// Metadata:
:description: IoT  Εισαγωγή στο SwarmLab
:keywords: iot, swarm
:data-uri:
:toc: right
:toc-title: Πίνακας περιεχομένων
:toclevels: 4
:source-highlighter: highlight
:icons: font
:sectnums: 



{empty} +


This HowTo teaches you how to Use SwarmLab gitea. 

https://git-scm.com/[Git] is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. 

[[cheat-CreateRepository]]
== create a new repository

Open https://git.swarmlab.io:3000[Swarmlab Gitea]

Use any web browser on your computer to join


=== Sign In

.Click on "Sign-in"
image::./Gitea-sign-in-1.png[SwarmLab Sign-in]

[NOTE]
====

.Proxy Error
[source,bash]
----
Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /user/login.

Reason: Error reading from remote server

Apache/2.4.25 (Debian) Server at git.swarmlab.io Port 3000
----

Reload Page!!!
====




=== New Repository 

==== step 1

.New Repository 
image::./repo-1.png[SwarmLab New Repository ]

==== step 2

.Create New Repository
image::./repo-2.png[SwarmLab New Repository ]



[[cheat-VloneRepository]]
== clone repository


=== git clone


==== copy url

.clone Repositor
image::./repo-clone-1.png[SwarmLab git clone ]

==== paste url

-  On your computer!

.git clone
[source,bash]
----
git clone paste-url-here 
----

.Install Git
[source.bash]
----
sudo apt update
sudo apt install git

----

.git error
[NOTE]
====
The requested URL returned error: 502

Try again!!!

====


== workflow


=== add & commit

You can propose changes (add it to the Index) using

.git add
[source,bash]
----
git add <filename>
git add *
----

This is the first step in the basic git workflow. To actually commit these changes use

.git status
[NOTE]
====
git status
====

.git commit
[source,bash]
----
git commit -a -m "Commit message"
----

[NOTE]
====
Now the file is committed to the HEAD, but not in your remote repository yet. 
====

=== pushing changes

Your changes are now in the HEAD of your local working copy. 

To send those changes to your remote repository, execute

.git push
[source,bash]
----
git push origin master
----

Change master to whatever branch you want to push your changes to. 


=== update

to update your local repository to the newest commit, execute

.git pull
[source,bash]
----
git pull origin
----

in your working directory to fetch and merge remote changes.


=== log


in its simplest form, you can study repository history using.. 

.git log
[source,bash]
----
git log
----

You can add a lot of parameters to make the log look like what you want. 
To see only the commits of a certain author:

.git log
[source,bash]
----
git log --author=bob
----

To see a very compressed log where each commit is one line:

.git log
[source,bash]
----
git log --pretty=oneline
----

Or maybe you want to see an ASCII art tree of all the branches, decorated with the names of tags and branches:

.git log
[source,bash]
----
git log --graph --oneline --decorate --all
----

See only which files have changed:

.git log
[source,bash]
----
git log --name-status
----

These are just a few of the possible parameters you can use. For more, see git log --help


[WARNING]
====

 Write Access is *ONLY* with "SSH Key-Based Authentication" Allowed

NOTE: Using the SSH protocol, you can connect and authenticate to remote servers and services. With SSH keys, you can connect to Swarmlab.io git Service without supplying your username or password at each visit.

====



== links & resources

https://book.git-scm.com/doc[Git Community Book]

http://marklodato.github.io/visual-git-guide/index-en.html[A Visual Git Reference]




















:hardbreaks:

{empty} +
{empty} +
{empty} 

:!hardbreaks:

'''

