= 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:
include::header.adoc[]
{empty} +
This wikiHowTo 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
=== Sign In
==== step 1
.Click on "Sign-in"
image::./Gitea-sign-in-1.png[SwarmLab Sign-in]
==== step 2
.Click on "Sign-in with OpenID"
image::./Gitea-sign-in-2.png[SwarmLab Sign-in OpenId]
[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 Repositor
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
.git clone
[source,bash]
----
git clone paste-url-here
----
.git error
[NOTE]
====
The requested URL returned error: 502
Try again!!!
====
.Install Git
[source.bash]
----
sudo apt update
sudo apt install git
----
== 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
== 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]
[[cheat-VloneRepository]]
== clone repository
:hardbreaks:
{empty} +
{empty} +
{empty}
:!hardbreaks:
'''
.Reminder
[NOTE]
====
:hardbreaks:
Caminante, no hay camino,
se hace camino al andar.
Wanderer, there is no path,
the path is made by walking.
*Antonio Machado* Campos de Castilla
====