DipMeshSystems.

技術文書
技術文書 literature music このサイトについて
Apache/httpd bash Firebird git gpg grep & sed MacOS X メールサーバ ネットワーク プログラミング sambaファイル共有 screen ssh su / sudo TextConsoleLife vi / vim vnc xxd yum UNIX関係のその他の資料

SourceForge.jpでgitを使う場合の方法:


前準備


※CentOSの場合には%yum%を使ってepelリポジトリからgit-allをインストールします。

 mkdir xxxx
 cd xxxx
 git init
 git remote add sfjp UserName@git.sourceforge.jp:/gitroot/projectname/RepositoryName.git
 git config user.email "UserName@users.sourceforge.jp"
 git config user.name "UserName"
 git config merge.tool vimdiff
 git config --global alias.xlog "log --color --remotes --decorate --graph --branches"
 git config core.filemode true





編集前

 git status
 git fetch sfjp
 git merge sfjp/master


編集後

 git add aaa       ファイル・ディレクトリの追加や更新結果をコミットに含めたい場合や、
 git mv bbb ccc    ファイル・ディレクトリ名の変更の際にはgitコマンドを使う必要あり。
 git commit -m "Commit Comment"
 git push sfjp master


ロールバック

 git log

上記の出力から必要なもののd89205cdb8aecb934967941abf9c1b4d95084badみたいなIDを見つけ出してコピーしておいてください。

 git reset -hard d89205cdb8aecb934967941abf9c1b4d95084bad


こんな感じでそのときの状態に差し戻すことが出来ます。
【注意】戻す前に今の状態のバックアップをとっておくようにしましょう。

マージ

gitで競合が起きた場合のメモ

基本的には手元のリポジトリでcommitするべきものをcommitした上で、
既にリモート(例えばソースフォージ)のレポジトリが他のユーザから更新されていて、
push出来ない場合には、一度 git pull remote branch すると、
大抵は勝手にマージを解消してくれます。
※同ファイルの同箇所修正を除く。

フェッチ

リモートからコミット内容を取得する。
  git fetch origin master

取得されたコミットはローカルでは常にFETCH_HEADという名称となる。
ローカルのHEADに対して、FETCH_HEADの内容をマージするためには、
マージコマンドを使う。
  git merge FETCH_HEAD


ブランチの作成と切替

 git branch BRANCH_NAME
 git checkout BRANCH_NAME


リモートブランチを元に新しいブランチを作成する

 git fetch REMOTE_NAME REMOTE_BRANCH_NAME:LOCAL_BRANCH_NAME

例:
 git fetch origin v2:v2


ブランチの削除

既にマージ済のブランチの場合
 git branch -d BRANCH_NAME

マージしていないブランチの場合
 git branch -D BRANCH_NAME


リモートブランチの削除

 git push REMOTE_NAME :REMOTE_BRANCH_NAME


リモートに存在しないリモート参照ブランチの一括削除

 git fetch REMOTE_NAME --prune


リモート参照ブランチの削除

 git branch -dr REMOTE_NAME/BRANCH_NAME


ブランチの示すコミット位置を強制的に変える

 git branch -f BRANCH_NAME 233edfs8....


HEAD位置へのタグの作成

 git tag -am 'コメント' TAG_NAME


タグのリモートへの送信

 git push REMOTE_NAME TAG_NAME


アーカイブの作成

 git archive --format=tar --prefix=project/ HEAD | bzip2 > ../sample.tar.bz2


リモートにpush

 git push REMOTE_NAME LOCAL_BRANCH_NAME:REMOTE_BRANCH_NAME


世の中には偉い人がいるので偉い人の作ったのを読むのが早道ですね

こわくない Git from Kota Saito


©1998-2014 DipMeshSystems.
this site is powered by OpenSylph / DipMeshSystems.
x