Commit 5bcab795 authored by Rtzq0's avatar Rtzq0

added talks

parent 1fe1f697
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #408090; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #FF0000 } /* Error */
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
.highlight .o { color: #666666 } /* Operator */
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #007020 } /* Comment.Preproc */
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #00A000 } /* Generic.Inserted */
.highlight .go { color: #303030 } /* Generic.Output */
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #0040D0 } /* Generic.Traceback */
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #007020 } /* Keyword.Pseudo */
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #902000 } /* Keyword.Type */
.highlight .m { color: #208050 } /* Literal.Number */
.highlight .s { color: #4070a0 } /* Literal.String */
.highlight .na { color: #4070a0 } /* Name.Attribute */
.highlight .nb { color: #007020 } /* Name.Builtin */
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
.highlight .no { color: #60add5 } /* Name.Constant */
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #007020 } /* Name.Exception */
.highlight .nf { color: #06287e } /* Name.Function */
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #bb60d5 } /* Name.Variable */
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #208050 } /* Literal.Number.Float */
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
.highlight .mi { color: #208050 } /* Literal.Number.Integer */
.highlight .mo { color: #208050 } /* Literal.Number.Oct */
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
.highlight .sr { color: #235388 } /* Literal.String.Regex */
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
\ No newline at end of file
/* This file left intentionally (almost) blank
Landslide always adds a print.css and a screen.css, but they
are not needed in impress.js, so this theme leaves them blank,
except for hiding some things you want to hide.
You can modify these files in your own fork, or you can add
css-files in the landslide configuration file.
See https://github.com/adamzap/landslide#presentation-configuration
*/
.impress-supported .fallback-message,
.step .notes {
display: none;
}
.step {
width: 800px;
}
/* Help popup */
#hovercraft-help {
background: none repeat scroll 0 0 rgba(0, 0, 0, 0.7);
color: #EEEEEE;
font-size: 70%;
left: 2em;
bottom: 2em;
width: 28em;
border-radius: 1em;
padding: 1em;
position: fixed;
right: 0;
text-align: center;
z-index: 100;
display: block;
font-family: Verdana, Arial, Sans;
}
.impress-enabled #hovercraft-help.hide {
display: none;
}
#hovercraft-help.disabled {
display: none;
}
/* Slide numbers */
div#slide-number
{
bottom: 1em;
font-size: 5vh;
position: absolute;
right: 2.5em;
text-align: right;
}
#impressconsole body {
background-color: rgb(255, 255, 255);
padding: 0;
margin: 0;
font-family: verdana, arial, sans-serif;
font-size: 2vw;
}
#impressconsole div#console {
position: absolute;
top: 0.5vw;
left: 0.5vw;
right: 0.5vw;
bottom: 3vw;
margin: 0;
}
#impressconsole div#views, #impressconsole div#notes {
position: absolute;
top: 0;
bottom: 0;
}
#impressconsole div#views {
left: 0;
right: 50vw;
overflow: hidden;
}
#impressconsole div#blocker {
position: absolute;
right: 0;
bottom: 0;
}
#impressconsole div#notes {
left: 50vw;
right: 0;
overflow-x: hidden;
overflow-y: auto;
padding: 0.3ex;
background-color: rgb(255, 255, 255);
border: solid 1px rgb(120, 120, 120);
}
#impressconsole div#notes .noNotes {
color: rgb(200, 200, 200);
}
#impressconsole div#notes p {
margin-top: 0;
}
#impressconsole iframe {
position: absolute;
margin: 0;
padding: 0;
left: 0;
border: solid 1px rgb(120, 120, 120);
}
#impressconsole iframe#slideView {
top: 0;
width: 49vw;
height: 49vh;
}
#impressconsole iframe#preView {
opacity: 0.7;
top: 50vh;
width: 30vw;
height: 30vh;
}
#impressconsole div#controls {
margin: 0;
position: absolute;
bottom: 0.25vw;
left: 0.5vw;
right: 0.5vw;
height: 2.5vw;
background-color: rgb(255, 255, 255);
background-color: rgba(255, 255, 255, 0.6);
}
#impressconsole div#prev, div#next {
}
#impressconsole div#prev a, #impressconsole div#next a {
display: block;
border: solid 1px rgb(70, 70, 70);
border-radius: 0.5vw;
font-size: 1.5vw;
padding: 0.25vw;
text-decoration: none;
background-color: rgb(220, 220, 220);
color: rgb(0, 0, 0);
}
#impressconsole div#prev a:hover, #impressconsole div#next a:hover {
background-color: rgb(245, 245, 245);
}
#impressconsole div#prev {
float: left;
}
#impressconsole div#next {
float: right;
}
#impressconsole div#status {
margin-left: 2em;
margin-right: 2em;
text-align: center;
float: right;
}
#impressconsole div#clock {
margin-left: 2em;
margin-right: 2em;
text-align: center;
float: left;
}
#impressconsole div#timer {
margin-left: 2em;
margin-right: 2em;
text-align: center;
float: left;
}
#impressconsole span.moving {
color: rgb(255, 0, 0);
}
#impressconsole span.ready {
color: rgb(0, 128, 0);
}
:root {
--562-black: #000000;
--562-darkgrey: #474747;
--562-mediumgrey: #5D5D5D;
--562-lightgrey: #A59EA6;
}
@font-face {
font-family: ClearSansLightRegular;
src: url(fonts/ClearSans-Light.woff);
}
@font-face {
font-family: ClearSansMediumRegular;
src: url(fonts/ClearSans-Medium.woff);
}
@font-face {
font-family: ClearSansItalic;
src: url(fonts/ClearSans-Italic.woff);
}
@font-face {
font-family: ClearSansBold;
src: url(fonts/ClearSans-Bold.woff);
}
body.impress-supported {
color: var(--562-darkgrey);
/*height: 600px;*/
background: linear-gradient(
to top,
transparent,
transparent 3%,
var(--562-mediumgrey) 3%,
var(--562-mediumgrey) 4%,
var(--562-black) 4%,
var(--562-black) 5%,
transparent 5%,
transparent
),
radial-gradient(
transparent 95%,
var(--562-lightgrey)
);
font-family: ClearSansLightRegular;
font-size: 300%;
}
div.step {
background: white;
width: 80vw ;
height: 80vh ;
}
h1 {
font-family: ClearSansMediumRegular;
}
strong {
font-family: ClearSansBold;
}
em {
font-family: ClearSansItalic;
}
.strike {
text-decoration: line-through;
}
.slideimage {
object-fit: contain;
width: 100%;
height: auto;
max-height: 100%;
}
This diff is collapsed.
// Initialize impress.js
impress().init();
// Set up the help-box
var helpdiv = window.document.getElementById('hovercraft-help');
if (window.top!=window.self) {
// This is inside an iframe, so don't show the help.
helpdiv.className = "disabled";
} else {
// Install a funtion to toggle help on and off.
var help = function() {
if(helpdiv.className == 'hide')
helpdiv.className = 'show';
else
helpdiv.className = 'hide';
};
// The help is by default shown. Hide it after five seconds.
setTimeout(function () {
var helpdiv = window.document.getElementById('hovercraft-help');
if(helpdiv.className != 'show')
helpdiv.className = 'hide';
}, 5000);
}
if (impressConsole) {
var impressattrs = document.getElementById('impress').attributes;
var consoleCss = impressattrs['console-css'];
var previewCss = null;
if (impressattrs.hasOwnProperty('preview-css')) {
previewCss = impressattrs['preview-css'];
}
impressConsole().init(css=consoleCss, cssPreview=previewCss);
// P to open Console
impressConsole().registerKeyEvent([72], help, window);
if (impressattrs.hasOwnProperty('auto-console') && impressattrs['auto-console'].value.toLowerCase() === 'true') {
consoleWindow = impressConsole().open();
}
}
// Function updating the slide number counter
function update_slide_number(evt)
{
var step = evt.target.attributes['step'].value;
document.getElementById('slide-number').innerText = parseInt(step) + 1;
}
This diff is collapsed.
This diff is collapsed.
Docs
Website
Docs
API
Blog
Code
Downloads
GitHub
Discord Chat
Forum
Installation
With Docker
From binary
From package
From source
Windows Service
Upgrade
From Gogs
Features
Authentication
Localization
Webhooks
Usage
Command Line
Backup and Restore
Advanced
Customizing Gitea
Hacking on Gitea
Config Cheat Sheet
Specific variables
Make
Installation with Docker
We provide automatically updated Docker images within our Docker Hub organization. It is up to you and your deployment to always use the latest stable tag or to use another service that updates the Docker image for you.
Data on Host
First of all you should simply pull the Docker container:
docker pull gitea/gitea:latest
To keep your repositories and some other data persistent you should create a directory that stores this data in the future.
sudo mkdir -p /var/lib/gitea
Now it’s time to launch the docker container, this is a pretty straight-forward process. You have to define the port mapping and you also have to provide the volume path for persisting the data:
docker run -d --name=gitea -p 10022:22 -p 10080:3000 -v /var/lib/gitea:/data gitea/gitea:latest
Now you should have a running instance of Gitea, to access the web UI just visit http://hostname:10080 in your favorite browser, if you want to clone repositories you can do it in the above case with git clone ssh://git@hostname:10022/username/repo.git.
Named Volumes
This guide will result in both the Gitea and PostgreSQL data stored in Docker named volumes. This makes for easy backup, restore and upgrades.
The Database
First get the named volume ready:
$ docker volume create --name gitea-db-data
Now that we have a volume ready, we can pull and run the PostgreSQL image. This is also based upon Alpine Linux just like Gitea. This will mount the named volume at the correct location instead of a host dir.
$ docker pull postgres:alpine
$ docker run -d --name gitea-db \
-e POSTGRES_PASSWORD=<PASSWORD> \
-v gitea-db-data:/var/lib/postgresql/data \
-p 5432:5432 \
postgres:alpine
Now the database is up and running, we need to configure it. Make sure you remember the password for when Gitea starts.
$ docker exec -it gitea-db psql -U postgres
psql (9.6.1)
Type "help" for help.
postgres=# CREATE USER gitea WITH PASSWORD '<PASSWORD>';
CREATE ROLE
postgres=# CREATE DATABASE gitea OWNER gitea;
CREATE DATABASE
postgres=# \q
$
Gitea
First, the named volume
$ docker volume create --name gitea-data
Now run (remove the dns entry if not needed):
$ docker run -d --name gitea \
--link gitea-db:gitea-db \
--dns 10.12.10.160 \
-p 11180:3000 \
-p 8322:22 \
-v gitea-data:/data \
gitea/gitea:latest
You should now have two Docker containers for Gitea and PostgreSQL plus two Docker named volumes.
Customization
Customization files described here should be placed in /data/gitea directory.
Configuration file after installation will be saved at /data/gitea/conf/app.ini
Anything missing?
Are we missing anything on this page? Then feel free to reach out to us on our Discord server, there you will get answers to any question pretty fast.
Copyright © 2017 The Gitea Authors. All rights reserved. Made with and Hugo. Sponsored by INBlockchain.
English 中文(简体) 中文(繁體) Português Brasileiro Nederlands
#######
Objects
#######
Stolen from dulwich docu
=======
Commits
=======
commit <content length><NUL>tree <tree sha>
parent <parent sha>
[parent <parent sha> if several parents from merges]
author <author name> <author e-mail> <timestamp> <timezone>
committer <author name> <author e-mail> <timestamp> <timezone>
<commit message>
=====
Trees
=====
tree <content length><NUL><file mode> <filename><NUL><item sha>...
=====
Blobs
=====
blob <content length><NUL><content>
###############################
helpful things for git workshop
###############################
************
Connectivity
************
====
tmux
====
.. code-block:: shell
tmux -S /tmp/socket
chmod 777 /tmp/socket
# other user
tmux -S /tmp/socket attach
=====================
non-standard ssh port
=====================
.. code-block:: shell
git clone ssh://user@32.242.111.21:11111/home/git/repo.git
or, in :code:`~/.ssh/config`
.. code-block:: shell
# host *
host githost
hostname git.host.de
port 4019
user root
identityfile ~/.ssh/id_rsa
identityfile %d/.ssh/%u_%r_rsa2048.key
===================
per-repo git config
===================
git allows you to specify email addresses, usernames, ssh keys, signing keys,
on a per repository basis. this is handy when working with repositories from
multiple organisations.
when in the repo directory, use the following commands to set a per repository
settings
.. code-block:: shell
git config user.name “joe bloggs”
git config user.email “jbloggs@alternativedomain.com"
git config core.sshcommand 'ssh -i private_key_file'
git config --global core.editor 'nano'
=======
Aliases
=======
.. code-block:: shell
git config —global alias.tidy “rebase -i @{upstream}..”
****************
Managing History
****************
================
logs
====
git log --oneline --graph --decorate
git log shows the commit log accessible from the refs (heads, tags, remotes)
git reflog is a record of all commits that are or were referenced in your repo at any time.
One of the things Git does in the background while you’re working away is keep a reflog — a log of where your HEAD and branch references have been for the last few months.
You can see your reflog by using git reflog:
$ git reflog
734713b... HEAD@{0}: commit: fixed refs handling, added gc auto, updated
d921970... HEAD@{1}: merge phedders/rdocs: Merge made by recursive.
1c002dd... HEAD@{2}: commit: added some blame and merge stuff
1c36188... HEAD@{3}: rebase -i (squash): updating HEAD
95df984... HEAD@{4}: commit: # This is a combination of two commits.
1c36188... HEAD@{5}: rebase -i (squash): updating HEAD
7e05da5... HEAD@{6}: rebase -i (pick): updating HEAD
Every time your branch tip is updated for any reason, Git stores that information for you in this temporary history. And you can specify older commits with this data, as well.
=================
rewriting commits
=================
:code:`git commit --amend` allows you to rewrite a commit after you've made it.
=================
git merge --no-ff
=================
:code:`git merge --no-ff` ensures that git avoids the default policy of placing
commits in the same branch they came from when there have been no
interruptions. This can be useful to avoid accidentally hiding feature/issue
branches, as seen below.
~~~~~~~~~~~~~~~~~~~~~~
What is 'fast forward'
~~~~~~~~~~~~~~~~~~~~~~
fast forward just means that git will, by default, make your commit history
linear when there are no intervening commits. Sometims this is what you want,
and sometimes it is not.
GitHub pull requests are never fast forward. This is probably a good thing,
as indicated below:
========
Rebasing
========
~~~~~~~~~~~~~~
noninteractive
~~~~~~~~~~~~~~
:code:`git rebase NEW_BASE BRANCH` will rebase BRANCH on top of NEW_BASE.
If you want to rebase on top of a specific commit you need to use something
like :code:`git rebase --onto NEW_BASE_COMMIT BRANCH`
~~~~~~~~~~~
interactive
~~~~~~~~~~~
do :code:`git rebase -i SOMECOMMIT` where SOMECOMMIT is a commit in your
own branch history (rather than a diverging branch).
**REMEMBER** rebase operations are shown from oldest to newist, OPPOSITE
that of git log.
- Removing commits: we just need to remove their lines.
- Reordering commits: we just need to reorder the lines! Actual success is not
guaranteed, however; if commit B’s changeset depends on code introduced by
commit A, inverting them will obviously result in trouble.
- Rewording commit messages: because of typos, lack of clarity, etc. Use the
reword verb. There’s no point in changing the message there and then, though:
Git will ignore it but open the editor when the time comes for you to
rephrase the message.
- Squash commits together: now that depends on why you’re squashing. The squash
verb will squash both the changesets and the messages. This is seldom what
you want; most of the time, it’s a bugfix that took you several commits to
finalize, so the original message is adequate; in that situation, prefer the
fixup verb.
- Split a commit: this is the most advanced use case. Git will apply that
commit, and then hand it out to us, over a clean tree. It is up to us to do
whatever tweaks we want, then tell rebase to resume its operations, again
from a clean tree. The adequate verb here is edit.
Remember that if you've paused a rebase with edit you can continue with
:code:`git rebase --continue`.
~~~~~~~~
git pull
~~~~~~~~
Try to avoid using it when collaborating on a branch, as it will inline merges.
You can pull and auto-rebase with :code:`git pull --rebase=preserve` (the
preserve is to prevent the default behavior of inlining merges) or change the
behavior in config. The purer version is:
.. code:: shell
git fetch
git rebase -p origin/feature
~~~~~~~~~~~~~~~~~~~~
rebasing vs. merging