「Git」の版間の差分

提供: sha.ngri.la
移動先: 案内検索
(他のマシンの準備)
(エラー)
58行目: 58行目:
 
===link===
 
===link===
 
*[http://d.hatena.ne.jp/kanonji/20101116/1289885277 git addの取り消しと、コミット済みのファイルを除外する方法 - kanonjiの日記]
 
*[http://d.hatena.ne.jp/kanonji/20101116/1289885277 git addの取り消しと、コミット済みのファイルを除外する方法 - kanonjiの日記]
 +
 +
==.gitignore==
 +
<code>git add .</code>で登録してしまったファイルを、<code>.gitignore</code>に書いても同期されてしまう。このときは、
 +
<pre>
 +
$ git rm --cached -f config/database.yml
 +
</pre>
 +
ファイルも削除してしまいたい場合は、
 +
<pre>
 +
$ git rm -f foo.html
 +
</pre>
  
 
==エラー==
 
==エラー==

2014年8月30日 (土) 13:12時点における版

単体で使うとき

  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