Skip to content
kosh04 edited this page May 26, 2019 · 5 revisions

How to commit (for repository owner)

  • Model
  • Directory
  • newlisp/ : this git repository
  • newlisp-x.x.x/ : latest source (include development / inprogress)
  • Branch
  • master : master (and previous) source
  • develop
  • release/v.x.x.x : latest source
  • Todo : Make automate build process
$ export GIT_AUTHOR_NAME="Lutz Mueller" # 作者名を指定 (あるいは git commit --author="NAME <EMAIL>")
$ export GIT_AUTHOR_EMAIL="lutz@nuevatec.com"

$ cd $TMP
$ git clone [--branch master] https://github.com/kosh04/newlisp [GIT_NEWLISP_DIR]

$ curl -O http://www.newlisp.org/downloads/[development/[inprogress/]]newlisp-x.x.x.tgz
$ tar xf newlisp-x.x.x.tgz
$ cp -pr GIT_NEWLISP_DIR/{.git,.gitignore} newlisp-x.x.x/    # 元リポジトリのコピー環境を作る
$ cd newlisp-x.x.x

$ git checkout -b release/v.x.x.x [master] # リリース作業用ブランチを作成する (based on master branch)
$ git add -p -u .                    # 変更や削除されたファイルはすべて追跡する
$ git add NEWFILES                   # 新規に追加されたファイルは手動で追加する
$ git commit -m COMMIT_MESSAGE \
    --date="YYYY-MM-DD"              # コミットする。コメントは doc/CHANGES を引用。更新日の訂正はあった方が望ましい
$ git tag -a x.x.x -m MESSAGE        # バージョン番号でタグ付けする (e.g. MESSAGE="Stable release 2015-01-01")

$ git checkout master
$ git merge --no-ff release/v.x.x.x  # リリースブランチを master ブランチに取り込む

$ git checkout develop
$ git merge --no-ff release/v.x.x.x  # (こちらは master から取り込んだほうが良い?)

$ git branch -d release/v.x.x.x      # リリースブランチは必要ないので削除する

$ git push origin master             # マージした変更をプッシュする
$ git push origin develop            # (releaseブランチはこれ以上必要ないためプッシュしない)
$ git push origin TAGNAME            # タグをプッシュする (--tags オプションならば全てのタグをプッシュ)

TODO

Clone this wiki locally