Je suis @million_momoban, un étudiant de 22 ans qui vise à devenir un ingénieur back-end inexpérimenté. En plus du développement d'applications Web et de l'apprentissage de la programmation, nous fournirons également des informations sur la recherche d'emploi et les stages.
J'ai fait une erreur lors de la création de l'application Rails (résolue plus tard), et je n'ai pas pu la gérer avec Git, alors j'ai pensé que c'était une bonne opportunité et j'ai décidé de démarrer le projet à partir de 1.
C'est une perte de temps de suivre la même ornière, alors gardez une trace de la façon dont une application Web peut être réalisée.
En tant que débutant, je trébuche souvent sur ** "Construction de l'environnement" ** et ** "Git management" ** pour enregistrer le flux de développement d'applications.
** Les commentaires sont les bienvenus, à la fois en termes de contenu de l'article, d'aspects techniques et plus encore! ** **
Je vais faire un projet immédiatement.
~
$ mkdir sample_app
$ cd sample_app
Déplacez-vous avec et spécifiez la version ruby à installer.
~/sample_app
$ rbenv install 2.6.5
・ ・ ・
Installed ruby-2.6.5 to /Users/foo/.rbenv/versions/2.6.5
J'ai attendu quelques minutes. Après vous être adapté à l'environnement avec
$ rbenv local 2.6.5 '', passez à la suivante.
~/sample_app
$ bundle init
・ ・ ・
Writing new Gemfile to /Users/foo/sample_app/Gemfile
Ouvrez le Gemfile généré soit vim ou directement à partir du Finder.
Retirez le # de
# gem "rails" `en bas pour le rendre`
gem" rails "
``.
~/sample_app/Gemfile
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "rails" #Décommenter
Si vous le pouvez, retournez au terminal et installez les rails avec la commande suivante.
~/sample_app
$ bundle install --path vendor/bundle
Vérifions les rails qui peuvent être installés.
~/sample_app
$ gem list rails
*** LOCAL GEMS ***
Si vous ne disposez pas de la version des rails que vous souhaitez utiliser, spécifiez la version et installez le gem. Si vous ne le spécifiez pas, la série 6 sera installée. La série 6 est encore instable en termes de compatibilité, et en raison de la nouveauté, il peut y avoir peu d'informations, donc les débutants devraient l'éviter.
~/sample_app
$ gem install -v 5.2.4.2 rails
・ ・ ・
$ gem list rails
*** LOCAL GEMS ***
rails (5.2.4.2)
...
Maintenant que ce joyau est installé, il semble que nous pouvons enfin démarrer le projet.
Portfolio
$ rails _5.2.4.2_ new . -d mysql --skip-turbolinks --skip-test --skip-bundle
create
create README.md
create Rakefile
・ ・ ・
new .En donnant comme échantillon_Vous pouvez déployer des projets Rails sur l'application.
L'explication de la commande est la suivante. Ajoutez ou supprimez selon le cas.
- ```rails _○.○.○.○_```
- Installer en spécifiant la version
- ```-d mysql```
- Changement de la base de données du SQLite par défaut en MySQL rapide et stable.
- ```--skip-turbolinks```
- Désactivez la liaison turbo. Il semble que les transitions de page seront plus rapides.
- ```--skip-test```
- Ignorez le minitest par défaut car vous prévoyez d'utiliser RSpec.
- ```--skip-bundle```
- Si vous effectuez une `` installation groupée '' sans autorisation, la version Rails peut être écrasée. Mais en fait, cela a une signification plus profonde.
---
Lorsque vous avez terminé, écrivez les gemmes dont vous avez besoin dans le fichier Gemfile dans le répertoire du nom du projet.
#### **`'= 5.2.4.2'En le donnant comme, il est corrigé pour qu'il ne devienne pas une autre version sans permission.`**
~/sample_app/Gemfile
・ ・ ・
ruby '2.6.5'
gem 'rails', '= 5.2.4.2'
gem 'mysql2', '>= 0.4.4', '< 0.6.0'
・ ・ ・
Après avoir écrit la gemme requise,
$ bundle install` ``
~/sample_app
$ bundle install
・ ・ ・
An error occurred while installing mysql2 (0.5.3), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'` succeeds before bundling.
Une erreur s'est produite d'une manière ou d'une autre dans mysql2. J'ai essayé différentes choses, mais j'ai pu le résoudre avec Rails5 gem cannot install mysql2.
$ bundle config --local build.mysql2 "--with-cppflags=-I/usr/local/opt/openssl/include"
$ bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"
$ bundle install`
à nouveau et le suivant est réussi.
Créez une base de données avec create.
Dans le contrôle de fonctionnement, faites `` $ rails s '' et accédez à localhost: 3000 ,,,
<img width="617" alt="スクリーンショット 2020-06-20 13.25.58.png " src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597061/67e14813-f7c8-a972-7f47-e92f0ffe34b0.png ">
Vous pouvez vous connecter et la version est parfaite!
## Gestion Git et GitHub
Ensuite, nous gérerons le projet avec Git.
L'outil qui est sur VSCode depuis le début est plus que suffisant, je vais donc l'utiliser.
Une extension appelée GitHistory est pratique, alors installez-la également.
## Essayer
Démarrez un nouveau projet à partir de Nouveau dans les référentiels sur [GitHub](https://github.com/).
Entrez le nom de votre choix pour le nom du référentiel, cochez Privé et passez par les autres.
<img width="776" alt="スクリーンショット 2020-06-20 16.20.40.png " src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/597061/99e2077a-c09a-062e-6ceb-6fe84526688d.png ">
Si vous appuyez sur Créer un référentiel, l'écran sera temporairement laissé et vous passerez à VS Code.
Après avoir démarré VSCode, ouvrez `` `sample_app``` depuis" Open Folder ".
Depuis le terminal, entrez dans l'ordre les cinq lignes de commandes affichées sur l'écran précédent.
#### **`~/sample_app`**
```terminal
$ git init
$ git add .
$ git commit -m "first commit"
$ git remote add origin https://github.com/******/sample.git
$ git push -u origin master
L'explication de la commande est la suivante. Si vous ne comprenez pas bien, vous pouvez passer.
git init
git add .
--Ajouter à l'environnement intermédiaire pour valider le fichier modifié. Tous les fichiers sont mis en scène en définissant `` .```.git commit -m "first commit"
--Commit le fichier intermédiaire avec le message
premier commit '' Le message XX est ajouté avec
-m "XX"
.git remote add origin https...
--Il semble que le serveur distant
(https ...) '' soit donné l'origine du nom abrégé. Il semble que l'origine soit habituellement décidée ainsi.git push -u origin master
--Appuyez pour synchroniser les modifications locales vers un référentiel distant. Vous savez déjà que origin master
est la distante `master branch
`.Jetons un coup d'œil à l'historique Git de VS Code. Comme le montre l'image, vous pouvez voir l'historique en cliquant sur 1 et 2, et vous pouvez vérifier le premier commit que vous avez effectué en premier.
A partir de 3, vous pouvez voir que nous sommes actuellement dans une branche appelée master. Une branche permet de faire avancer le développement de manière flexible en ramenant l'environnement de développement entre «pour modification» et «pour ajouter des fonctions» sans affecter l'autre.
Il est courant de conserver les versions stables et les produits finis dans la branche principale par défaut et ne se développent souvent pas sur la branche principale. Alors créons une nouvelle branche de développement. Créez une nouvelle branche à partir de 3. Cette fois, je l'ai nommé «topique».
Essayez de taper `` git status '' dans le terminal pour voir l'état actuel de Git.
~/sample_app
$ git status
On branch topic
nothing to commit, working tree clean
Je suis dans la branche thématique, je n'ai rien sur quoi m'engager et mon espace de travail est propre.
Après avoir confirmé que vous êtes dans la branche des sujets de développement, jouons un peu avec le fichier. J'ai réinitialisé
gitignore` et changé un peu
README.md. Si vous cliquez sur la marque Git dans la barre latérale et regardez le contenu, les deux fichiers ci-dessus se trouvent dans l'espace de travail, cliquez donc sur le bouton + pour les déplacer vers l'environnement de préparation. C'est la même chose que `` `` $ git add
dans le terminal.
Vous avez été mis en scène et vous êtes prêt à vous engager. Ensuite, écrivez votre validation dans la zone de texte au-dessus et appuyez sur le bouton de contrôle ci-dessus pour valider vos modifications.
C'est aussi équivalent à
$ git commit -m "operation check" `` `dans le terminal.
Regardons à nouveau l'histoire. Si vous regardez l'image suivante, vous pouvez voir le dernier état de la branche de rubrique verte dans la ligne supérieure, la branche maître verte et la branche origine / maître rouge dans la ligne inférieure (avant le changement). Puisque nous développons dans la branche thématique, vous pouvez comprendre que la série chronologique est la plus récente.
En passant, il semble qu'il n'y ait pas de problème si les changements sont reflétés dans la branche principale locale telle qu'elle est, donc je voudrais les fusionner. Tout d'abord, appuyez sur le sujet en bas à gauche pour sélectionner la branche principale et confirmez que vous l'avez déplacée.
Cliquez sur Plus juste en dessous du sujet vert et sélectionnez Fusionner ceci.
Après avoir sélectionné le sujet et terminé la confirmation finale ...
Le contenu modifié dans le sujet est correctement reflété dans master! !!
En fait, je pense qu'il y a un bouton avec une marque de nuage ou deux flèches dans un cercle à droite du bouton avec le sujet ou le maître sur lequel vous avez appuyé lors du changement de branche. Vous pouvez facilement synchroniser vos modifications actuelles vers un référentiel distant en cliquant dessus.
Mais pensez-y. C'est comme la synchronisation des modifications dans la branche principale, que vous avez développée en équipe et que vous avez soudainement décidé de ne travailler qu'avec le produit fini, sans confirmation des autres membres.
Si vous effectuez une demande d'extraction, vous pouvez demander aux membres de l'équipe de vérifier le code pour voir s'il vaut la peine de fusionner, et si vous obtenez l'autorisation, vous pouvez faire quelque chose comme la fusion et éviter les accidents. Bien que ce soit un développement personnel, cela ne fera pas de mal de s'y habituer.
Supposons que vous poursuivez le développement dans la branche de rubrique et qu'il y ait trois modifications de fichier. Utilisez le bouton + pour ajouter à la mise en scène et ajouter un message de validation de manière appropriée.
Validez également et basculez vers la branche principale comme auparavant et fusionnez la branche de rubrique.
Ouais, comme prévu.
Je vais pousser vers le référentiel distant à partir d'ici, mais le flux est le suivant.
Pousser de la branche maître du référentiel local vers la branche origine / sujet du référentiel distant (honnêtement, le sujet → l'origine / le sujet se sent bien) ↓ Faites une demande d'extraction de la branche d'origine / sujet du référentiel distant vers l'origine / maître sur GitHub ↓ Demandez à l'administrateur du référentiel de le fusionner.
Commençons par la suite du précédent. Appuyez sur orign / topic. Oh, le référentiel distant n'a toujours qu'une branche principale, non? Si vous pensez, ne vous inquiétez pas. S'il n'y a pas de succursale, une nouvelle succursale sera créée en fonction de la situation.
~/sample_app
$ git push origin topic
・ ・ ・
remote: Create a pull request for 'topic' on GitHub by visiting:
remote: https://github.com/******/sample/pull/new/topic
remote:
To https://github.com/******/sample.git
* [new branch] topic -> topic
Faites une pull request sur le sujet sur GitHub.
topic -> topic
Esttopic -> origin/topic
à ce sujet ~.
Si vous jetez un œil à GitHub et allez à la page supérieure du projet, il est dit
'topic' Compare & pull request '' '', alors cliquez dessus pour créer une pull request. Sinon, sélectionnez sujet '' dans
Branche '' et il devrait apparaître.
La zone du haut montre que la demande d'extraction sujet-maître est comparée et qu'elle peut être fusionnée.
Si vous pouvez le confirmer, écrivez le titre et le message. Je pense que le titre est le message du début lorsque vous vous êtes engagé.
Écrivez le message pour qu'il puisse être compris par n'importe qui d'autre que vous-même. L'article de cette personne a été très utile pour savoir comment écrire Pururiku. → GitHub "Je vais vous apprendre à écrire une requête d'extraction parfaite"
Si vous pouvez écrire un message, faites "Créer une demande d'extraction".
Cette fois, c'est un développement personnel et l'administrateur du référentiel n'est que moi, donc je peux le fusionner immédiatement, mais comme c'est un gros problème, je vais y toucher de différentes manières. Cliquez sur Fichier modifié dans l'onglet.
Ici, vous pouvez consulter les fichiers qui ont changé. Soyez proactif en laissant des questions, des suggestions et des commentaires élogieux.
Après avoir écrit tous les détails, passez en revue à partir de «Examiner les modifications» dans le coin supérieur droit avec «Soumettre l'examen».
Lorsque vous revenez à l'onglet "Conversion", les avis, etc. sont reflétés.
Après avoir terminé la confirmation finale, terminez la fusion avec «Confirmer la fusion» à partir de «Fusion de la demande d'extraction».
Lorsque vous revenez à la première page, la fusion précédente est reflétée!
Ceci termine le flux. Je pense que c'est la raison pour laquelle l'acte de donner l'impression qu'il est développé par plusieurs personnes est appelé pseudo-pull request.
En écrivant cet article, j'ai appris beaucoup de choses qui semblaient être comprises mais pas faites. Même ainsi, je trouve souvent suspect d'écrire (surtout lorsque je gère une succursale), et je pense que j'ai encore besoin d'étudier.
J'ai écrit une si longue phrase pour la première fois, donc je pense qu'il y a des parties étranges! Je continuerai d'écrire des enregistrements tout en poursuivant le développement dans le système en cours. Je l'écrirai à nouveau lorsque le projet sera terminé ou terminé. Vient ensuite RSpec? ??
Que vous viviez dans une zone rurale, que vous étudiez par vous-même ou que vous ne soyez pas un système d'information, même si vous n'avez pas d'amis qui programment autour de vous, vous pouvez compléter certains livrables et prouver que vous pouvez obtenir un emploi d'ingénieur back-end! !!
En tant qu'étudiant, je prévois de publier des articles sur mes expériences telles que des informations sur la recherche d'emploi et des stages. Tout contenu, que ce soit un article ou autre chose qu'un article, est le bienvenu pour commenter! !!
Recommended Posts