https://swcarpentry-ja.github.io/2024-05-30-chiba-slides/git
Gitに追跡して欲しくないファイルもあります(データ、解析結果)
.gitignore
で無視するファイルを指定できます
詳細はこちら:https://swcarpentry-ja.github.io/git-novice/06-ignore.html
以下のようなディレクトリ構造があるとします:
results/data
ではなく、results/plots
のみを無視するにはどうすればいいのでしょう?
仮に log_01
、log_02
、log_03
、というように、中間的にログファイルを作成するスクリプトを書いたとします。 これらのログファイルは取っておきたいのですが、git で追跡したくありません。
log_01
、log_02
、などのファイルを無視するためのルールを一つだけ .gitignore
に入力してください。log_01
などのファイルを作成してください。log_01
ファイルがものすごく重要であることが分かりました。.gitignore
を編集せずに、このファイルを追跡しているファイルに加えてください。.gitignore
に何を入力すればこれらのファイルを無視できるのかを話し合ってください。リモートリポジトリに接続する前に、自分のコンピュータが GitHub に認証される方法を設定する必要があります。
これにより、GitHub はあなたのコンピュータからのアクセスを信頼できるようになります。
コマンドラインでのアクセスを認証するために一般的に使用される方法を設定します。
この方法は「Secure Shell Protocol(SSH)」と呼ばれます。
SSH は、暗号化されたネットワークプロトコルで、通常は安全でないネットワークを使用してコンピュータ間の安全な通信を可能にします。
vlad@tran.sylvan.ia
には、自分のメールアドレスを入力してください(公開されているGitHubリポジトリを使用する場合、このメールアドレスも公開されることになります)
Generating public/private ed25519 key pair.
Enter file in which to save the key (/c/Users/Vlad Dracula/.ssh/id_ed25519):
デフォルト設定で良いので、リターンキーを押します。
Created directory '/c/Users/Vlad Dracula/.ssh'.
Enter passphrase (empty for no passphrase):
パスワードを設定します(空欄にすると、パスワードなしになります)。パスワードを設定すると、GitHubを使用するたびに入力が必要になります。
右上隅にあるプロファイルの画像をクリックし、次に[設定]をクリックします。
サイドバーの [アクセス] セクションで、 [ SSH キーと GPG キー] をクリックします
New SSH key または Add SSH key をクリックします
公開鍵をペストし、覚えやすい名前を設定します
git remote add origin
でリポジトリを追加する
git remote add origin git@github.com:vlad/planets.git
git remote -v
で確認する
git remote -v
GitHubのあなたのplanetsリポジトリに移動して下さい。
「Code」ボタンの下にある「XX commits」というテキストを見つけてクリックします(「XX」は数字です)。各コミットの右側にある3つのボタンにカーソルを合わせてクリックします。
これらのボタンからどのような情報を収集/探索できますか?
シェルで同じ情報を得るにはどうしますか?
今回の課題は、ペアを組んでやります
一人は「オーナー」、もう一人は「コラボレーター」
コラボレーターの目標は、オーナーのリポジトリに変更を加えることです。
最後に役割を交代するので、両方の人がオーナーとコラボレーターの役割を果たします。
コラボレーターはオーナーのリポジトリのコピーを自分のマシンにダウンロードします。(クローンする)
自分の planets.git
バージョンを上書きしないように、オーナーのリポジトリを別の場所にクローンします。
デスクトップフォルダにクローンする場合:
vlad
をオーナーのユーザー名に置き換えます。
クローンパス(~/Desktop/vlad-planets
)を指定しない場合は、自分の planets
フォルダ内にクローンされるので、最初にデスクトップフォルダに移動してください。
オーナーのリポジトリを再確認し、コラボレーターが行った新しいコミットを確認します。
ブラウザをリフレッシュする必要があるかもしれません
オーナーはコラボレーターに情報を提供せずにリポジトリにコミットをプッシュしました。
コマンドラインでは、コラボレーターは何が変更されたかをどのように確認できますか?
また、GitHubではどうやって確認できますか?
このワークショップは 日本バイオインフォマティクス学会 の 公募研究会・地域部会として採択され、ご協力をいただいています。
非会員の方は是非入会をご検討ください
「公開しても大丈夫」という方は、是非ご協力をお願いします。
後ろから撮った写真を公開することがありますが、もし公開を希望されない場合は、お知らせください。
「スタッフの方々の手いフォローでなんとかついていけた」
「コードの意味や一連の流れが分かりやすく説明されていた」
最後に何が出来るのか、目的設定があると分かりやすくなる
チャレンジをやる時、隣の方と相談できたらいい
図があるのに、あまり活用できていない
声が小さい
gitでコードの衝突が起きた時の解決策を身につける
dockerの基本的な操作が出来るようになる
dockerをどのように自分の研究に使えるのか、具体的にイメージができるようになる
共同作業をしていると、いつか、それぞれで同じ箇所に異なった変更を加えることがあるでしょう。これは git でいう「衝突」(conflict)
git にはどちらが正しいのか、分からないので、手で直さないといけない