Git

提供:onlinehacks
2023年11月14日 (火) 05:56時点におけるTara.ttm (トーク | 投稿記録)による版 (ページの作成:「==単体で使うとき== <ol> <li>最初に使うとき <pre> $ git init $ git add . $ git commit -a -m "message" </pre> <li>2回目以降 <pre> $ git add . $ git commit -a -m "message" </pre> </ol> *[http://d.hatena.ne.jp/amacou/20090117/1232201229 gitリポジトリを特定のcommitバージョンまで戻す方法 - AorBorF] ==共有リポジトリ== ===サーバ側の準備=== <pre> $ mkdir fooo.git $ cd fooo.git $ git init --bare --shared=true </pre> 他の…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

単体で使うとき

  1. 最初に使うとき
    $ git init
    $ git add .
    $ git commit -a -m "message"
    
  2. 2回目以降
    $ git add .
    $ git commit -a -m "message"
    

共有リポジトリ

サーバ側の準備

$ mkdir fooo.git
$ cd fooo.git
$ git init --bare --shared=true

他のサイトを見ると"$ sudo git init --bare --shared=true"と書いてあるけど、私の場合sudo使わないとうまくいった。なんでだろう?

ローカル側の準備

$ git init
$ git remote add origin ssh://username@sha.ngri.la/home/username/fooo.git 
$ git add .
$ git commit -a -m "initial import"
$ git push origin master
  • git remote add origin のときにサーバでのusernameを入れておかないとローカルのユーザ名で認証しようとするのでログインできなかった。

他のマシンの準備

$ mkdir fooo
$ cd fooo
$ git init
$ git remote add origin ssh://username@sha.ngri.la/home/username/fooo.git 
$ git add .
$ git commit -a -m "initial import"
$ git pull origin master

Link

ローカルの変更を元に戻す

特定のファイルを戻すとき

$ git checkout ファイル名

全て元に戻すとき

$ git checkout .

link

.gitignore

git add .で登録してしまったファイルを、.gitignoreに書いても同期されてしまう。このときは、

$ git rm --cached -f config/database.yml

ファイルも削除してしまいたい場合は、

$ git rm -f foo.html

エラー

fatal: unable to stat 'filename': No such file or directory

ファイルを削除した後にgit add .したときにエラーが出たので、その対応。

$ git rm "path/to/filename"
$ git add .
$ git commit -am 'my commit'

link

fatal: the remote end hung up unexpectedly

client_loop: send disconnect: Broken pipe
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly

のとき git gc --aggressive で解決した。