4

Mercurial では、まだプッシュする準備ができていない作業を追跡するために、秘密のチェンジセットを定期的に使用しています。次に、一部のファイルに緊急の変更を加える必要がある場合は、公開リビジョンに更新し、その変更を行ってプッシュすることができます。未完成の変更セットがプッシュされることを心配する必要はありません。

いいえ:

hg commit -sm "Partial work"
# Crap, prod is down
hg up -r <public version number>
hg commit -m "Fixin prod"
hg out
  1 outgoing change, "Fixin prod"
hg push
hg rebase -r <secret revisions> -d.
# later
hg commit --amend -m "Finished work"
hg phase -dr.
hg out
  1 outgoing change, "Finished work"
hg push 

gitでこれをどのように行いますか?

4

2 に答える 2

2

ブランチの使用:

$ git checkout -b dev #create a new branch based on the current commit in master
# .... work ....
$ git commit -a -m 'super awesome new feature'
# oh noes, production crapped itself!
$ git checkout master
# ... fix ...
$ git commit -a -m 'fixed bug #666'
$ git push master
$ git checkout dev #since we created the branch with -b the first time, we're good now.
$ git merge master # update our dev branch with the changes in master
# ... work on new features ...
# all done and commited and tested
$ git checkout master
$ git merge dev && git branch -d dev # delete the dev branch
$ git push && profit

または単に使用しますgit stash

# ... work on new feature ...
# oh noes, production caught a killer virus from aliens
$ git stash
# ... fix and commit and push ...
$ git stash apply # reapply your stashed code
# resume hacking on your new feature.

個人的には、よりクリーンなブランチ メソッドを好みます。

于 2015-08-01T00:54:08.120 に答える