Command Palette

Search for a command to run…

ZarynZaryn
はじめかた·1 min read

はじめてのリポジトリ、一歩ずつ

リポジトリを作り、バージョンを保存し、履歴を見て、失敗を取り消す。すべての考え方を説明します。

このガイドでは小さなプロジェクトをゼロから作ります。その過程で、zev のすべての土台になる4つの考え方を学びます: **作業フォルダー**、**ステージングエリア**、**コミット**、そして**履歴**です。 まだ zev をインストールしていない場合は [インストール](/docs/ja/installation) から始めてください。 ## リポジトリを作る ```bash mkdir notes cd notes zev init ``` ```text Initialized empty Zev repository in ./.zev/ ``` *リポジトリ*とは、zev が履歴を管理しているフォルダーです。履歴はすべて隠しフォルダー `.zev` にあります。手で編集しないでください。削除すると普通のフォルダーに戻り、履歴は失われます。 名前とメールアドレスをプロジェクトごとに一度設定します。すべてのコミットに記録されます: ```bash zev config set user.name "山田 花子" zev config set user.email "hanako@example.com" ``` ## 作業が置かれる3つの場所 | 場所 | 何か | どうやってそこに入るか | |---|---|---| | **作業フォルダー** | エディターで見ているファイル | あなたが編集する | | **ステージングエリア** | 次のコミットのために選んだ変更 | `zev add` | | **履歴** | 作ったすべてのコミット。ずっと保存される | `zev commit` | 偶然に履歴へ入るものはありません。何をステージするかを選び、それをコミットします。 ## 最初のコミット ファイルを2つ作ります: ```bash echo "牛乳を買う" > todo.txt echo "プロジェクトのアイデア" > ideas.txt zev status ``` ```text On branch main Untracked files: (zev add <file> to start tracking; list in .zevignore to hide) ideas.txt todo.txt ``` *Untracked* は、zev がファイルを見てはいるものの、まだ履歴を管理していないという意味です。両方をステージしてコミットします: ```bash zev add . zev commit -m "メモを始める" ``` 表示される長い文字列はコミットの **ID** です。コミットの中身すべてから計算した指紋(ハッシュ)なので、他のコミットと混同されることはありません。最初の数文字、たとえば `5f7f5e22` を書けば十分です。 **よいコミットメッセージ**は、何をなぜ変えたかを短く書きます。「修正」より「パスワードに空白があるとログインできない問題を修正」のほうが後で役立ちます。 ## 何が変わったかを見る ```bash echo "パンを買う" >> todo.txt echo "アリに電話" > calls.txt zev status zev diff ``` ```text modified: todo.txt @@ -1,1 +1,2 @@ 牛乳を買う +パンを買う ``` `+` は追加された行、`-` は削除された行です。`@@ -1,1 +1,2 @@` の行はファイル内の場所を示します。最初は気にしなくて大丈夫です。 `todo.txt` だけをコミットし、`calls.txt` は後に残します: ```bash zev add todo.txt zev diff --staged zev commit -m "リストにパンを追加" ``` `zev diff --staged` は、次のコミットに入る内容を正確に表示します。コミット前に確認する習慣をつけましょう。 ## 履歴を読む ```bash zev log zev log --oneline ``` 一番新しいコミットが上です。一つのコミットとその変更を見るには: ```bash zev show 5f7f5e22 # ID の先頭で zev show HEAD # 最新のコミット zev show HEAD~1 # その一つ前 ``` `HEAD` は「今いるコミット」のことです。`HEAD~1` はその一つ前、`HEAD~2` は二つ前です。 ## 取り消す 誰でも失敗します。よくある失敗からの抜け出し方です。 **ステージしていない変更を捨てる**(最後のコミットの状態に戻す): ```bash zev restore todo.txt ``` 注意: 捨てた変更はコミットされていないので、元に戻せません。 **ファイルのステージを取り消す**(編集は残し、次のコミットから外す): ```bash zev restore --staged todo.txt ``` **変更を一時的に退避する**: ```bash zev stash zev stash pop # 戻す ``` **誤って消したファイルを戻す**(以前にコミットされていれば): ```bash zev restore calls.txt ``` ## ファイルの削除と名前の変更 ```bash zev rm ideas.txt zev commit -m "アイデアを削除" ``` 名前を変えるには、普通に名前を変えてから、古い名前と新しい名前の両方をステージします: ```bash mv calls.txt phone.txt zev add calls.txt phone.txt zev commit -m "calls を phone に名前変更" ``` ## 一部のファイルを除外する ビルド結果、ログ、秘密情報は履歴に入れるべきではありません。プロジェクトの一番上のフォルダーにある `.zevignore` というファイルに書きます: ```text node_modules/ build/ *.log .env ``` 無視されたファイルは `zev status` に表示されず、`zev add .` もスキップします。`.zevignore` 自体はコミットして、全員が同じファイルを無視するようにしましょう。 ## 次は - [ブランチとマージ](/docs/ja/branches): メインの作業に触れずにアイデアを試す。 - [Zaryn で作業を共有する](/docs/ja/pushing-and-pulling): push、pull、clone。 - [すべてのコマンド](/docs/ja/commands): 完全なリファレンス。