20200120のGitに関する記事は5件です。

Ultima Online(2D)のマクロ管理をgit化

githubと改行ルールが違って二重管理になるため、詳細は下記のgithubのREADME.mdを参照のこと。
https://github.com/github895439/uo_macro

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

GitとGithubの基礎

Git ってそもそも何のためにあるのか。

それは『プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システム』のこと。(Wikipediaより参照)

主に下記2点がGitを使うメリットと言えるのではないでしょうか。
・バージョン管理(何か変な変更を行なった時に、元に戻せる)
・チーム開発で共有

Gitの3つの階層

Gitの流れに進む前に、Gitには3つの階層があることを理解しておきたい。

・Working Directory (作業フォルダ)
・Stage (一時保存的な保留分?)
・History (編集の履歴)


image.png

参照(https://marklodato.github.io/visual-git-guide/basic-usage.svg)


まずWorking Directoryでファイルを編集し、その後、Stageにaddする。最終的にStageにあるものをHistoryにコミットするという流れですね。ここ大事。

Gitバージョン管理の流れ

では実際どのような流れなのかを見ていきます。

まず、ディレクトリを作成。

mkdir Version

新しく作成したVersion ディレクトリに移動。

cd Version

新しいテキストファイルを作成して、テキストファイルを編集。

touch text1.txt
open text1.txt

同じように、text2.txt を作成・編集。

touch text2.txt
open text2.txt

gitを初期化する

git init

gitの状況をみる

git status

先ほど述べたworking directoryから、stageにファイルをaddする。時短する場合は
全てのファイルをaddする 『git add .』でも大丈夫。

git add text1.txt
git add text2.txt

(ちなみに stage にあるファイルを消す場合は、こう。念のため)

git rm --cahed -r

messageをつけて、stageからHistoryにcommitする

git commit -m "First commit of texts"

commitの履歴を表示し、誰がいつcommitしたのかをみる

git log

text2.txtを編集して保存してしまったが、やっぱり元に戻したい。そんな時は、まず編集前(Historyにあるもの)と編集後(working directoryにあるもの)のtext2.txtの変更点を表示させる。

git diff text2.txt

変更点を確認し、「よし、戻そう。」となった時は、Historyにあるtext2.txtをworking directoryにroll backする。その場合、working directoryにあった編集済みのtext2.txtは上書きされて無くなってしまうため、注意。

git checkout text2.txt

gitignoreを使用してファイルをgitに入れない

ここまでで、ファイルをgitに追加していく方法を見てきました。でも、パスワードを含むテキストファイルなどgitに追加したくないファイルってありますよね。そんな時に使用できるのがgitignoreです。

まず、ディレクトリ内で.gitignoreというファイルを作成します。

touch .gitignore

Finder上では見れない、隠しファイルも表示する

ls -a

このままgit add . してしまうと全てのファイルがaddされてしまいますので、.gitignore内にaddしないファイルを記載していきます。

今回は、下記のファイルをaddしないように設定します。
- DS_Store
- passwords.txt

スクリーンショット 2020-01-20 12.53.14.png

これで、git add . としても.gitignoreに記載したファイルはaddされなくなりました。ちなみに、.gitignoreのファイル自体はaddされるので注意。

gitignoreのコピペ集

.gitignoreのファイル内で『*.txt』と記載すると、全ての.txtファイルを対象とすることができる。

これを利用して、githubではその言語ごとに必要ではないファイルをまとめたものがあり、それを.gitignoreにコピペするだけで良い便利なテンプレート集がある。

https://github.com/github/gitignore

Github へのpush

ここまではローカル環境上でのGitを見てきましたが、実際はGithubも使っていくことが主流です。

先ほど作成した Version フォルダとその中に格納されている text1.txt と text2.txt をGithubにpushしていきます。

Githubで新しいRepositryを作成する。

スクリーンショット 2020-01-19 08.11.30.png

するとこんな画面に変わります。

スクリーンショット 2020-01-19 08.12.51.png

次にコマンドラインで作業をしていたVersionフォルダを開きます。上記画像の...or push an existing repository from the command lineの部分をコマンドラインにコピペします。

git remote add origin https://github.com/kibinag0/Version.git

origin という名前のremote git をaddしますってことですね。

そして、ローカルのHistoryにある部分をoriginというremote gitにpushします。マスターとしてね。

git push -u origin master

ここで、githubのユーザー名やパスワードの入力を求められます。

するとGithubにちゃんと Historyにあったものがpushされ、反映されています。

Githubからクローンする

先ほどは、Githubへのpushを見ましたが、今度は、Githubからクローン(ダウンロード)する方法です。

まずGithubでクローンしたいプロジェクトを見つけ、「Clone or download」をクリックします。

スクリーンショット 2020-01-20 13.26.52.png

すると、https:// ~ とURLが出てくるので、それをコピーして、下記のようにコマンドラインで貼り付けます。

git clone https://github.com/kibinag0/Version.git

すると現在いるディレクトリにクローンされたものが保存されます。

Githubの Branch & Merge

Branchは、枝や枝分かれのことで、Mergeとは、枝分かれしていたものが再度合流すること。

たとえば、ある機能を追加しようとして、枝分かれしたbranchで作業していたが実装できたのでメインのbranchに合流するということができるのです。まぁ便利。複数人で作業していく時にも使えますね。

image.png

画像引用 Backlog.comより。

新しいbranchを作成し、add, commit

まず、branchを作成する。今回はそのbranch名を 「add-feature」としてみましょう。

git branch add-feature

自分がどのbranchにいるのかをみる。

git branch 

*がついている方のbranchに自分はいます。毎回確認するようにしましょう。

そして、現在はmaster branch にいたので、新規作成した add-feature branchに移動しましょう。

git checkout add-feature

add-feature branch で変更を行ったと仮定します。今回はfeature.txtファイルを作成しました。そしたら、add-feature branchとしてcommitしましょう。

git add .
git commit -m "added new feature"

これでadd-feature branch にてcommitすることができました。一応自分がどのbranchにいるか確認。

git branch

master branch でも変更を加えてみる

それでは、master branch に移動しましょう。

git checkout master

master branchに移動すると、先ほど add-feature branch で変更した点が"反映されていない"ことが分かります。

分かりやすくするため、こちらでも変更を加えてみましょう。text3.txtを作成します。

Merge

現時点でのファイル状況

master branch add-feature branch
・text1.txt
・text2.txt
・text3.txt
・text1.txt
・text2.txt
・feature.txt

この状況で、add-feature branch を master branchにmerge(合併します。)

まずmaster branchに移動します。

git checkout master

add-feature branch をmaster branch に結合させる

git merge add-feature

そうするとこうなります。

スクリーンショット 2020-01-20 14.49.31.png

そして、ファイル的には、すべてが反映されます。
masterにあるファイル一覧。
・text1.txt
・text2.txt
・text3.txt
・feature.txt

すごい、なかなか上手くできなかった。頑張った。特に、add-feature branchで変更して、add, commitせずに、master branchにcheckoutで戻ってしまうとその時点でmaster branchにmergeされてしまう見たいなので、add-featureで変更したら、必ずadd, commitした方が良い。ということを学びました。

Fork と Pull を使いこなす

Clone → Github上のrepositryを自分のローカルに落とす
Fork → Github上のrepositryを自分のGithubにコピーする
Pull → Forkしたプロジェクトに変更を加え、Fork元に反映をリクエストする

自分にそのRepositryを編集する権限がある際は、cloneして、add, commit, pushすれば良いのだが、誰でもその権限を持っている訳ではない。そんな時は、Forkでそのプロジェクト自体を自分のGithubにコピーし、編集し、Pullリクエストで、元プロジェクトの所有者に『こんな編集しましたよ、もしよければ反映したらどうでしょう』みたいに申請することです。オープンソースプロジェクトとかでよく使用される方法みたいです。

具体的な方法は下記を参考

https://qiita.com/YumaInaura/items/acff806290c8953d3185

以上で、GitとGithubのまとめ完了。

(参照)Udemyの Web Development Bootcamp 2020

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

git authentication failed

$ git push origin master
・・・・
・・・・
fatal: Authentication failed for・・・・

gitのremote urlを変更

$ git remote set-url origin git@github.com:{hogehoge}/{fugafuga}

でpushできるようになった。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【GitHub】リモートの URL の変更

変更前の確認

ターミナル
$ git remote -v
origin  既存のリモートURL (fetch)
origin  既存のリモートURL (push)

変更

ターミナル
$ git remote set-url origin リモートの新しいURL

変更後の確認

ターミナル
$ git remote -v
origin  リモートの新しいURL (fetch)
origin  リモートの新しいURL (push)
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

ど素人が初めてGitをさわってみた!

はじめまして、ど素人です

元教員→IT経験7か月目です。
いわゆるど素人というやつです。
ブログを書く習慣など全くない自分が、
頑張ってQiitaを書くという無謀に挑戦してみます。(笑)

そして、

なんと

この間、初めてのGitを触ったので、
今回は手始めにダウンロードの手順を書いてみることにしました。
読みづらい、意味わからないところはご愛敬ということで、
何卒よろしくお願いします(笑)

Gitってなんだーーーー!?

そもそも、今の会社に入社してから度々、

「Gitにあげる」
「Githubにあげる」

という言葉を耳にしていた自分。

Jenkinsについて調べてもGitというワードが出てくる…

調べてもイマイチよくわかんないし、
特に現場で使うこともなく、早7か月…。

さすがにどんなものなのか知りたくなったので、
(正しくは、もうそろそろ知らなきゃいけないという焦りです笑)
実際にお勉強会に参加することにしたのでした。

Gitとは

Gitとは
分散型バージョン管理システム
とのことです(笑)

何のことだってばよ??

すごく簡単なイメージとしては、
もととなるコードが共有されている。
そこから、
もととなるものはそのままに、
新たに、もとのコードにどんどん書き加えて新しいものを作っていく。
元のコードをいじっているわけではないので、
前のものはそのまま残っているを繰り返していく方法。
戻りたいコードにいつでも戻ることができるので(消さなければの話だけど)安心。
という管理の仕方です。

ポケモンで例えると、
いつでも好きなセーブデータに戻れる。
といったところでしょうか。

そもそもGitってどうやってPCに入れるの??

①自分のPCはWindowsなので、下記のURLからダウンロード
https://gitforwindows.org/

こんな画面がでてくるので
image.png

「ダウンロードは」をポチる

②ダウンロード後、「Git-2.25.0-64-bit」がダウンロードされているので開きます
 初期設定のままどんどん設定を進めていきます。
 (スクリーンショットを忘れるという痛恨のミス…)
 
③ダウンロードがすんだら、
Windowsのスタート画面に下記のように
・Git GUI
・Git CMD
・Git Bash
の3つが追加されていたら設定完了!
image.png

作業は以上!
意外と簡単かも!?

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む