リポジトリの操作

毎日の作業前にはリモートリポジトリから最新情報をダウンロードするgit pull, 更新後にはリモートリポジトリに登録するためのgit pushを忘れずにすること。コマンド例は下の方にあります。

Gitサーバとのやりとり

リモートリポジトリの情報をダウンロード

$ git pull origin master

git pullする前に,どのような更新がされるかを知りたいときには,git pullのかわりにgit fetch+git mergeを使う。

$ git fetch origin        # 更新情報を入手(手元の作業ツリーの更新はしない)
$ git diff origin/master --name-only # 更新情報一覧を表示
$ git merge origin/master # 手元の作業ツリーを更新

ローカルリポジトリの情報をGitサーバ(リモートリポジトリ)に反映

$ git push origin master

ローカルリポジトリの操作

以下のgitコマンドは,ローカルリポジトリ(手元のディレクトリ)内のみの変更をする。 変更後にはgit pushでGitHubへの反映を忘れずに。

ローカルリポジトリの更新

  • 現在の作業ツリーにcommitしていないファイルがあるか確認
    $ git status
    
    どのファイルにどのような修正を加えたかを確認したいときは
    $ git diff
    
  • どのファイルの変更をgitに登録するかを決定
    $ git add .            # 現在のディレクトリにある全てのファイル/ディレクトリを登録
    $ git add figures/     # ディレクトリ figures/ 以下のファイルを登録
    $ git add *.tex        # すべての .tex ファイルを登録
    
  • ファイルの変更情報をgitに登録
    $ git commit -a -m "ファイル変更"`
    
    オプション
    • -a 変更されたファイルすべてを対象とする(git add -uと同じ)
    • -mはコメント(メッセージ)をつける。省略するとviが起動して,長いコメントを入れられる。
  • commitした後に,少し修正して,さっきのcommitとまとめてしまいたいとき
    $ git commit --amend
    

ローカルリポジトリ内のファイル削除・名前変更

  • ローカルリポジトリに登録したファイルやディレクトリを消したい時

    $ git rm <file>
    $ git rm -r <directory>
    
  • gitに登録したファイルやディレクトリの名前を変える

    $ git mv <old name> <new name>
    

いずれの場合も,commitを実行してからリモートリポジトリに反映される