リモート (GitLab)
みんなで共有する本体。サーバー上にあります。
丸を押すとコミットの内容が見えます。
feature/xmain
レビュアー未解決
ボタンの id が login だと他と紛らわしいので、login-button のように分かりやすい名前にしてください。
GitLab のふつうの開発フローを、ボタンを押しながら目で見て学びます。
Git は、ファイルの変更を「記録」して、あとから戻したり、みんなの作業を合体させたりできる仕組みです。GitLab は、その記録を置いておくネット上の場所です。
ふつうの流れは4つ。(1) 自分専用の「ブランチ」で作業する、(2) GitLab に送る、(3)「マージリクエスト」で確認してもらう、(4) OKなら本流の main に合流する。下のボタンを順番に押して、絵がどう変わるか見てみましょう。
3つの場所があります。リモート(GitLab)=みんなで共有する本体ローカル=自分のPCの中の履歴作業フォルダ=実際にファイルを編集する所
みんなで共有する本体。サーバー上にあります。
丸を押すとコミットの内容が見えます。
feature/xmain
レビュアー未解決
ボタンの id が login だと他と紛らわしいので、login-button のように分かりやすい名前にしてください。
自分のPCの中にある履歴。ここでコミットします。
まだありません。
git clone するとここにコピーができます。
丸の点線の輪は「まだ GitLab に送っていないコミット」です。
ファイルを編集する場所。ステージに載せたものが次のコミットになります。
まだありません。git clone すると作業フォルダができます。
いまのブランチ:main
git add
空っぽです。
git commitローカルリポジトリへ
最初はみんな通る道です。あわてず、まず git status で状況を見ましょう。
同じ場所をほかの人も変えていると、Git はどちらが正しいか決められず、ファイルに目印を書き込んで止まります。
<<<<<<< HEAD ボタン名:ログイン ======= ボタン名:サインイン >>>>>>> feature/login-button
やること:ファイルを開いて、残したい内容に書き直し、目印の行(<<<、===、>>>)を消します。そのあと次を実行します。
git add login.html git rebase --continue # merge の場合は git commit
main の上で作業してしまった! でも大丈夫。まだ push していなければ直せます。
まだコミット前なら、そのまま新しいブランチを作れば変更はついてきます。
git switch -c feature/login-button
main にコミットしてしまった後(push 前)は、枝を作ってから main を GitLab の状態に戻します。
git branch feature/login-button git reset --hard origin/main # main を戻す(push前のみ) git switch feature/login-button
! [rejected] ... (fetch first) と出たら、GitLab 側に、手元にないコミットがあるということ。ほかの人が先に push した合図です。
やること:先に取り込んでから、もう一度 push します。
git pull --rebase git push
無理やり上書きする --force は、みんなの作業を消すことがあるので、慣れるまで使わないのが安全です。