[PYTHON] Die weltweit am einfachsten zu verstehende Erklärung, wie LINE BOT erstellt wird (3) [Zusammenarbeit mit dem Server mit Git]

Einführung

Dieses Mal synchronisieren wir die lokal (Mac) erstellten Anwendungsdateien mit der Fernbedienung (Server). Verwenden Sie "Git", um Projektdateien zu synchronisieren.

Verwalten Sie Ihr Projekt mit Git

Mir ist aufgefallen, dass das Verwalten von Quellcode heutzutage immer mehr zu Git wird. Einige mögen sagen, dass SubVersion verwendet wurde.

Grundsätzlich hat die Verwendung von allem Vor- und Nachteile, aber wenn Sie keine komplizierten Dinge tun, ist "Git" im Grunde nicht schwierig. Daher verwenden wir hier "Git", um den Quellcode zu verwalten. ..

Was ist Git?

Ich werde die Erklärung über Git anderen überlassen, aber ich werde nur die Verdienste schreiben.

Insbesondere bei der alleinigen Entwicklung profitieren häufig erstere. Ich kann mir nicht vorstellen, Git zu verwenden, indem ich Dateien nacheinander mit FTP austausche.

Klicken Sie hier für einen leicht verständlichen Kommentar zu Git ・ Einführung in Git, die selbst Affen verstehen können

Es ist in diesem Kommentarartikel, aber wenn letztere mehrere Personen das gleiche Projekt betreiben, sieht es so aus.

Es wird zentral an einem Ort namens "Remote-Repository" verwaltet (stellen Sie es sich als Cloud vor), und Sie können es auf Ihren lokalen PC klonen (herunterladen) und mit der Arbeit beginnen. Das Reflektieren der Unterschiede, die Sie im Remote-Repository bearbeitet haben, wird als "Push" bezeichnet, und das Reflektieren der Änderungen, die andere am Remote-Repository in Ihrem lokalen Repository vorgenommen haben, wird als "Pull" bezeichnet.

Im Grunde geht es darum, also denke ich, dass es in Ordnung ist, eine Lernpolitik zu haben, während man es benutzt.

Push lokales Repository (Mac) in Remote-Repository (BitBucket)

Verwenden Sie nun Git, um das lokale Repository (Mac) in das Remote-Repository (BitBucket) zu verschieben.

Hier verwenden wir einen Dienst namens BitBucket als Remote-Repository.

Das vielleicht bekannteste Remote-Repository für Git ist GitHub. GitHub berechnet jedoch ein privates Repository (ein Repository, das für andere privat gehalten wird). Verwenden wir daher BitBucket, das über ein kostenloses privates Repository verfügt. Da es oft schwierig ist, die Zusammenarbeit zwischen BitBucket und lokal oder remote über SSH einzurichten, werde ich die Erklärung auch hier belassen und davon ausgehen, dass Git lokal und remote verwendet werden kann.

Erstellen eines Remote-Repositorys (BitBucket)

Greifen Sie auf BitBucket zu (registrieren Sie sich, wenn Sie kein Konto registriert haben) und erstellen Sie ein neues Repository. Sie können ein neues Repository über das Pulldown-Menü "Repositorys" erstellen.

スクリーンショット 2016-11-12 14.10.28.png

Lassen Sie uns den Namen des Repositorys festlegen und wie folgt erstellen.

スクリーンショット 2016-11-12 14.12.25.png

Damit ist die Erstellung des Remote-Repositorys abgeschlossen.

スクリーンショット 2016-11-12 14.14.51.png

Lokale und Remote verbinden

Informationen zum Verknüpfen des lokalen Repositorys und des Remote-Repositorys finden Sie unter "Ich werde von vorne beginnen" auf diesem Bildschirm. スクリーンショット 2016-11-12 14.33.57.png

Lassen Sie uns jetzt lokal arbeiten (Mac). Wechseln Sie vor der Arbeit in das erstellte API-Verzeichnis (dies wird als Arbeitsverzeichnis bezeichnet).

Git initialisieren

Initialisieren Sie zunächst git im Arbeitsverzeichnis.

Git initialisieren


$ git init

Dann wird, obwohl es sich um ein verstecktes Verzeichnis handelt, ein Verzeichnis mit dem Namen ".git" erstellt und Informationen zu git werden hier verwaltet.

Erstellen Sie .gitignore

.gitignore ist eine Datei, die Erweiterungen und Dateien angibt, die git nicht verwaltet. Wenn dies nicht angegeben wird, werden alle Dateien von git verwaltet, und kleine temporäre Dateien verursachen Konflikte (häufig als Konflikte bezeichnet) im Remote-Repository.

Natürlich ist es für Anfänger schwierig zu sagen, welche Erweiterung bei der Kontrolle von git weggelassen werden soll (ich weiß nicht), aber dies ist gitignore.io /) Ich werde dir alles erzählen.

スクリーンショット 2016-11-12 14.24.06.png

Geben Sie nun Python und Django ein, um eine .gitignore-Datei zu generieren.

スクリーンショット 2016-11-12 14.24.58.png

Wie Sie sehen können, wird die Datei, die in .gitignore geschrieben werden soll, angezeigt. Kopieren Sie sie also und fügen Sie sie in .gitignore ein.

.Gitignore bearbeiten


$ vim .gitignore

Ich habe .gitignore in vim wie folgt bearbeitet.

.gitignore



# Created by https://www.gitignore.io/api/python,django

### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# dotenv
.env

# virtualenv
.venv/
venv/
ENV/

# Spyder project settings
.spyderproject

# Rope project settings
.ropeproject


### Django ###
*.pyc
db.sqlite3
media

Wenn Sie mit vim nicht eingeben oder speichern können, kopieren Sie diese bitte und fügen Sie sie gemäß den folgenden 6 Schritten ein.

    1. Wählen Sie den gesamten von gitignore.io generierten Inhalt aus und kopieren Sie ihn 2.$ vim .gitignore
    1. Drücken Sie i, um den Modus aufzurufen (siehe unten --INSERT-).
  1. Einfügen wie gewohnt mit Befehl + v
  2. Drücken Sie esc, um den Eingabemodus zu verlassen
  3. Geben Sie : wq ein, um vim zu speichern und zu beenden

Damit sind die .gitignore-Einstellungen abgeschlossen.

Verbindung mit Fernbedienung

Benennen Sie abschließend das vom Remote angegebene Repository "origin" und definieren Sie die Korrespondenz.

Verbindung mit Fernbedienung


$ git remote add origin [email protected]:#{your_name}/api.git

Dieser einzelne Befehl vervollständigt die remote-lokale Zuordnung.

Übertragen Sie alles in ein Remote-Repository

Sorgen Sie sich zunächst nicht um die Details, sondern drücken Sie alles außer den in .gitignore ausgelassenen.

Schieben Sie alles in die Hauptniederlassung


$ git add .
$ git commit -m 'first commit'
$ git push origin master
Counting objects: 18, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (18/18), 6.12 KiB | 0 bytes/s, done.
Total 18 (delta 1), reused 0 (delta 0)
To [email protected]:#{your_name}/api.git
 * [new branch]      master -> master

Fragen Sie bei BitBucket nach

Wenn Sie auf die "Quelle" im BitBucket-Repository zugreifen, können Sie sehen, dass die lokalen Informationen remote gesendet und synchronisiert werden. スクリーンショット 2016-11-12 19.51.07.png

Push ist jetzt aus der Ferne abgeschlossen.

Klonen Sie vom Remote-Repository (BitBucket) zum lokalen Repository (Server).

Nachdem ich die Dateien, die ich auf meinem Mac hatte, mit dem Remote-Repository synchronisiert habe, werde ich diese Informationen auf die Serverseite klonen (≒ herunterladen). Außerdem gehen wir davon aus, dass der SSH-Schlüssel mit BitBucket bereits auf der Serverseite registriert wurde.

Melden Sie sich beim Server an und wechseln Sie in das Verzeichnis, das Sie klonen möchten. Die für das Klonen erforderlichen Befehle können von BitBucket bezogen werden.

スクリーンショット 2016-11-12 14.46.51.png

Jetzt kann der Befehl zum Klonen wie folgt abgerufen werden. Kopieren Sie ihn also.

スクリーンショット 2016-11-12 14.48.33.png

Führen Sie danach den kopierten Befehl auf dem Server aus.

$ git clone [email protected]:#{your_name}/api.git

Die gleiche Datei wird jetzt auf dem Server erstellt und die Integration mit dem Server ist abgeschlossen.

Bonus

Wir warten darauf, dass Sie uns folgen!

Serviceeinführung Bitte kontaktieren Sie uns, wenn Sie an "Kikagaku" interessiert sind, einem Einzelunterricht für maschinelles Lernen, mit dem Sie "Mathematik → Programmieren → Webanwendung" gleichzeitig lernen können.

Recommended Posts

Die weltweit am einfachsten zu verstehende Erklärung, wie LINE BOT erstellt wird (3) [Zusammenarbeit mit dem Server mit Git]
Die weltweit am einfachsten zu verstehende Erklärung zur Herstellung von LINE BOT (1) [Kontoerstellung]
Erklären, wie LINE BOT auf einfachste Weise der Welt erstellt werden kann (2) [Vorbereiten der Bot-Anwendung in einer lokalen Umgebung mit Django of Python]
So erstellen Sie einen interaktiven LINE BOT 004 (beantworten Sie den Stichtag eines börsennotierten Unternehmens)
So erstellen Sie einen LINE-Bot mit künstlicher Intelligenz mit der Flask + LINE Messaging-API
So erstellen Sie einen HTTPS-Server mit Go / Gin
Wie man das Dokument der magischen Funktion (Linienmagie) trifft
[Python] Was ist ein Slice? Eine leicht verständliche Erklärung zur Verwendung anhand eines konkreten Beispiels
Machen Sie den SIP-Server so kurz wie möglich (in der Mitte der Erklärung).
Ich möchte das Wetter mit LINE bot feat.Heroku + Python wissen
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
So erstellen Sie einen Befehl zum Lesen der Einstellungsdatei mit Pyramide
So überwachen Sie den Ausführungsstatus von sqlldr mit dem Befehl pv
Wie man einen lockeren Bot macht
Ergänzung zur Erklärung von vscode
Die Geschichte, wie man mit Python einen 100-Yen-Frühstücks-Bot für die Universität macht
Python-Anfänger haben beschlossen, einen LINE-Bot mit Flask zu erstellen (Flask-Kommentar)
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
[Bilderkennung] Lesen des Ergebnisses der automatischen Annotation mit VoTT
Ich habe versucht, "Sakurai-san" LINE BOT mit API Gateway + Lambda zu erstellen
So setzen Sie eine Zeilennummer am Anfang einer CSV-Datei
So überprüfen Sie die Version von Django
So stellen Sie die Serverzeit auf japanische Zeit ein
So machen Sie VS Code auf die venv-Umgebung und ihre Vorteile aufmerksam
SSH-Anmeldung am Zielserver von Windows mit einem Klick auf eine Verknüpfung
Checkliste, wie Sie vermeiden können, die Elemente des Numpy-Arrays mit for zu drehen
Hinweis: So erhalten Sie den letzten Tag des Monats mit Python (hinzugefügt am ersten Tag des Monats)
So erstellen Sie einen Raspberry Pi, der die Tweets eines bestimmten Benutzers spricht
So stellen Sie die Schriftbreite des in pyenv eingegebenen Jupyter-Notizbuchs gleich
Machen Sie es sich einfach, die Zeit von AWS CloudWatch-Ereignissen mit CDK anzugeben.
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Ich habe versucht, die Literatur des neuen Corona-Virus mit Python automatisch an LINE zu senden
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Eine neue Form der App, die mit GitHub funktioniert: So erstellen Sie GitHub-Apps
Hochladen mit Heroku, Flask, Python, Git (4)
So berechnen Sie die Volatilität einer Marke
Melden Sie sich mit SSH bei einem Remote-Server an
So finden Sie den Bereich des Boronoi-Diagramms
So senden Sie eine Nachricht mit Curl an LINE
So erstellen Sie ein Wörterbuch mit einer hierarchischen Struktur.
So testen Sie den Friends-of-Friends-Algorithmus mit pyfof
So legen Sie Attribute mit Mock of Python fest
So implementieren Sie "named_scope" von RubyOnRails mit Django
So messen Sie die Leitungsgeschwindigkeit vom Terminal aus
Erstellen Sie mit Amazon Lex einen LINE WORKS-Bot
Wie man Kaldi mit JUST Corpus trainiert
[Python] Zusammenfassung der Funktionen eval / exec + Schreiben einer Zeichenfolge mit Zeilenumbrüchen
Ich habe versucht, mit dem Seq2Seq-Modell von TensorFlow so etwas wie einen Chatbot zu erstellen
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Erste Schritte mit Visual Studio Online ~ Das Ende der Ära der Umgebungskonstruktion ~
Ein Memo darüber, wie man das schwierige Problem der Erfassung von FX mit AI überwinden kann
So zählen Sie die Anzahl der Vorkommen jedes Elements in der Liste in Python mit der Gewichtung
[Erklärung zur Implementierung] Verwendung der japanischen Version von BERT in Google Colaboratory (PyTorch)
Beim 15. Offline-Echtzeitversuch habe ich versucht, das Problem des Schreibens mit Python zu lösen