2

私は会社のプロジェクトに取り組んでいます。プロジェクトを修正するために連れてこられて、すべてを完全に作り直すことになりました。それが唯一の方法でした。これはゲームであり、ほとんどのコードは最初のバージョンのエンジンで作成されており、最新バージョンのエンジンには適合しませんでした。完全に作り直しましたが、すべてを削除して新しいソースを貼り付けるときに、変更をプッシュするだけでは不十分です。

私もリポジトリの主な所有者ではありません。彼のbitbucketアカウントにリポジトリを持っているのは会社の主な人です。ただし、読み取り/書き込みアクセス権はあります。私は彼に私のために何かをするように頼んだでしょうが、彼はメインの男ですが、彼はメインのアーティストであり、超技術的ではありません。ですから、彼を通り抜けることなく、すべて自分でできるようにしたいと思います。

プロジェクトを完全にクリアして新しいソースに貼り付けて送信し、メインリポジトリの古いコードの代わりに使用したいだけです。gitでこれを行う方法はありますか?

4

2 に答える 2

3

これはかなり劇的なようです。だが...

あなたはの線に沿って何かが必要です(これはテストされていません-それはあなたが必要とするものの味をあなたに与えることを目的としています)。私はあなたの環境についてたくさんの仮定をしています

# get the current stuff
git pull origin master

# label the location you are about to nuke.  Pick a name that suites you.
# while this is not strictly necessary, I'd highly recommend it
git checkout master
git branch release_0.9
git push origin release_0.9

# change to a new branch
git checkout -b release_1.0

# remove all the old files
ls | xargs rm -rf

# copy in your files here

# add all the new files
git add -A

# commit and push your branch
git commit
git push origin release_1.0

# update master
git push . HEAD:master

# push the new version of master
git push origin master

これらのコマンドをやみくもに実行しないでください。最初にそれらを理解してテストします。

于 2012-07-20T05:26:24.843 に答える
0

元のファイルをそのまま残し、独自のGitHubディレクトリとして分岐して、代わりに変更を加えます。そして、リビジョンをより小さな段階に分割することをお勧めします...最初にできるだけ多くの新しい開発をレガシーコードに後付けし、次にコアインフラストラクチャを変更し、その後、事前に行うことができなかった残りの変更を行います。 。ただし、それでも、インフラストラクチャの変更後に追加された新しいマテリアルを駄洒落にするために、必要に応じて最初のステージでスタブを使用してステージングする必要があります。

次に、差異がより明確に階層化され、回帰テストのベンチマークとして各段階(元の段階を含む)が存在します...これは、プロセスのすべてのステップで不可欠な部分である必要があります。

古いものを捨てて、3ではなく4次元で考えることに熟達することはありません。プロジェクトは、今日の世界の3次元のスナップショットではなく、時空の全範囲を構成する4次元のチェーンです。全歴史。履歴は、スナップショットと同じくらい重要ですが、それ以上ではありません。将来、あなたや他の誰かが、物事を行う元の方法の一部がより優れていて、個別にバックトラックするか、再統合するか、さらには分岐する必要があることに気付く可能性があります。アーカイブは、現在の状態ではなく、履歴(つまり、時空の4次元オブジェクト)を保存するために作成されます。その考え方は...特に若すぎて十分に長く世界にいることができず、よりよく知ることができない人々の間で流行しています...フラットな3Dの瞬間の世界にとらわれていることは一時的なものですプレゼンティズムとして知られる近視;

于 2021-05-16T21:47:56.730 に答える