メインコンテンツに移動

レポジトリの利用

パソコンで開発したソフトを,Linuxでも走らせたいという場合には, GITを使えば簡単です.ファイル共有でいちいちコピーしてたら,

  • 1ファイル,書き換えたの忘れてた
  • あ,3個もファイル足りねえ・・・と思ってたら古い方で上書き. 全部死んだ
  • ファイルがあちこちにあって,どれが新しいのか,わかんねえ
  • 改造しているうちに,うっかり消した・・・消してから,バックアップが取れていないことに気がついた
  • ディスクが壊れたんで・・・残ってるのは,大分前のバージョンだ.卒業できないな
  • 神様お願い,4日前の状態に戻してぇぇぇ
  • どちらの方法が良いか分からないので2通り作っていたら,混ざって訳が分からなくなった. 仕方がないので if 文で書いたら計算速度が爆遅

とかが起こりますしね.まあ,きっちりした人は大丈夫なんですけど,人格に問題があると間違えてしまいますしね〜

レポジトリってなに

レポジトリといわれても,なんのことやら?という向けに少し説明しましょう.そういう貴方は,プログラムを何かのコンピュータで作成し,そのコンピュータに保存していると思います,上記の問題点は,ここに由来しています.つまり,ある特定のコンピュータにファイルを保存してしまうと,別のコンピュータからは,アクセスしにくいわけですよね.そんな前世紀の問題からは,さっさと離れましょう.

 レポジトリ,は,プログラムをWEBページに保存する仕組みです.なんせWEBページですから,どのコンピュータやスマートデバイスからもアクセスできるので,必要な時にダウンロードすれば良いわけです.(逆に,なにか更新したら,その日の最後にアップしないと意味がないわけですけど.)というわけで,レポジトリを利用するには,その機能を有するサーバーが必要になります.また,プログラムをアップロードしたりダウンロードしたり,さらには複数の矛盾したアップロードを解決するプログラムも必要です.現状では,そのプログラムとして GIT が有名です.GITをサポートする有名なサーバーをリストしましょう.

  • GITHUB   最も有名なGITレポジトリです.誰でも加入できますし,LinuxのカーネルもGITHUBで開発されているので,Linuxが死滅するまでGITHUBは健在でしょう.Linux企業に絶賛就活中?のMicrosoft社に8000億円で買収されています.つい数年前はウイルス扱いしていたのに?
  • GITLAB  GITHUBが事もあろうに某社に買収されたので,ここに脱走する人が多いらしい.
  • BACKLOG  日本語が使えます.ただし毎月1万円払わなければなりません.
  • BITBUCKET ATTLASIAN社のサービスです.
    • どういうわけか, 教育機関のメールアドレス(...edu, ...ac.jp)でアカウントを作り,「僕学生・教員ですけど」と申し立てる(英語でメールを送ること!They do not understand your bizarre languages)と,全機能が無料で利用可能になります.
    • 全機能とは,プログラムの公開・非公開の設定,研究グループの作成,Wikiの作成やバックアップ用ZIPファイルの作成などです.
    • 容量制限は存在しません(ファイルが大きくなると,すげえ遅いです.プログラムみたいに数KBサイズならOK)
  • というわけで,まあ最初はいずれかのサービスに登録して,ジタバタ遊ぶのが最初のステップですね.

ここは一読の価値あり,ですね

レポジトリを新規作成

新規にアカウントを取得したら,まあとりあえず新規作成してみましょう.

what

これでできました.なにか一つファイルがないと困るので, READMEの作成ボタンを押すか,「私はゼロからスタート」の指示に従います:

作製したレポジトリのアドレスを取得しましょう:

アドレスには, HTTPSとSSHの二種類があります.とりあえずはHTTPSで大丈夫です.READMEを編集したり, WIKIを編集したりできます.

XCodeVisual Studio, Linuxのgitコマンドで,あなたのソースファイルを登録したりできますが,そこは各ソフトウェアの使い方を見てくださいね.

レポジトリからダウンロード

レポジトリからプロジェクトをダウンロードするには, 適切な【クローン】コマンドを取得します. Bitbucketの場合
        
こんな風に表示されるので,まずダウンロード先のフォルダーを作り,このコマンドをLinuxのコマンドで入力します.
 
 
すると,パスワードを聞いてきます.これは,該当するGITレポジトリのパスワードですので,そいつを入力します(上右図).
⭐️場合によっては, 「Can not open display」と言われるかもしれませんね.その対策はこちら
するとダウンロードします.
これで,ソースファイル一式が下位フォルダーにダウンロードされました.この例では,表示されているように, /net/sun3/sugimoto/projects/webmix/mix3 というフォルダーができています.まずは, ユーザー名とemailを設定します:
 
$ cd mix3
$ git config --global user.name "Hiroshi Sugimoto"  ←当然,あなたの名前を登録
$ git config --global user.email your@email.address.gmail.com 
 
これで編集とか,できますね.GITによる作業をまとめておきましょう.作業前にこれはオススメしておきます.
  • コミット
    • プログラムを変更したら,それをGITにアップします.(そうしないと,あなたの行った変更は,後世に寄与しなくなります.また,GITサイトに他人が加えた修正を,あなたのフォルダーに適用することもできなくなります.また,過去のバージョンの復元なども,当然,できなくなります)これをコミットといいます.コミットしないのは,そのプロジェクトとは無関係になることを意味しているわけですね.
  • プル
    • WindowsとMacとLinuxを開発に利用している場合,各マシンでファイルを変更することがあるでしょう.たとえばWindowsで変更してGITにアップした場合,その結果をMac, Linuxでダウンロードしなければいけません.これが「プル」作業です.自分以外の共同研究者がGITにアップすることもあります.今日の作業を開始する前に,是非とも,プルしておきましょう.
  • リセット
    • プログラムを書いていると,「あ.しくった!2時間前の状態に戻してぇぇぇぇ神様ああああ」となることは多いですよね.GITを用いれば簡単です.
  • フェッチ
    • あなた以外の誰かが, 新しいブランチを作成しており, それを使いたいと思いました.他人や別の場所で作成したブランチであるとか新しげな情報をサーバーからダウンロードするのがfetchコマンドです.
  • マージ
    • 下の「ブランチ」を合流させる時に,矛盾する変更があれば解決しなければなりません.この作業をマージと呼びます.Macのマージはマジわかりやすいのでそっちが良いとは思いますが, Linuxでもマージは可能です.
  • ブランチ
    • プロジェクトにはコミットしたいのだが,なんせ僕はプログラムがヘタクソだから,いきなり主流部分を変更して,動かなくなったらどうしよう?などと,ビビるわけですよね.そのために,「僕のバージョン」を作ることができるわけです.複数の人が同一のシステムを開発する場合・複数のアーキテクチャ(LinuxとMacとAndroid)とかで開発とか,異なる手段を試験するとか,の場合にも「僕のバージョン」を作っておくのが安全です.僕のバージョンが正常に動作して,これ,メインに反映したいんだけど,ということも後でできます.このような「僕のバージョン」をブランチといいます.
  • チェックアウト
    • チェックアウトの基本は,別のブランチに乗り換えることです.ただし,現在のブランチの過去に乗り換える(昔の状態に戻す)こともできます.
  • プルリクエスト
 
File attachments
添付 サイズ
2016-11-03 20.41.38.png 103.71 KB
2016-11-03 20.39.50.png 28.47 KB