2

Laravel Forge と BitBucket を使用して Web アプリをデプロイしています。最近、Webサイトの一部をコーディングしていて、CSSに小さな間違いがあることに気付きましたgit push.コーディングが終わっていないために使用できなかったので、FTPを使用してそのCSSを変更しました. したがって、開発を終了した後、試してみましgit pushたが、次のエラーが発生しました(Laravel Forgeログで):

error: Your local changes to the following files would be overwritten by merge:

インターネットを検索したところ、stash で問題が解決することがわかったので、デプロイ スクリプトを次のように変更しました。

cd /home/forge/default
git stash
git pull origin master
git stash apply stash@{0}
composer install
php artisan migrate --force

しかし今、私はこのエラーを受け取ります:

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: empty ident name (for <forge@objavi.net>) not allowed
Cannot save the current index state
From bitbucket.org:alenn/objavi
 * branch            master     -> FETCH_HEAD
error: Your local changes to the following files would be overwritten by merge:
    app/models/Post.php
    app/models/User.php
    app/routes.php
    app/views/home.blade.php
    app/views/layouts/partials/top.blade.php
    app/views/main.blade.php
    public/css/main.css
    public/js/script.js
Please, commit your changes or stash them before you can merge.
error: The following untracked working tree files would be overwritten by merge:
    app/views/users/readlater.blade.php
Please move or remove them before you can merge.
Aborting

誰かがこれを修正するのを手伝ってくれますか?

4

1 に答える 1

2

このようにサーバー上で小さな修正を行う必要がある場合、私の標準的な手順は、修正をコードに組み込んだら、変更されたファイルまたはすべてのファイルを実行git checkout -- [filename]またはリセットすることです (多くの場所をいじっていた場合) git checkout -- .)。

この方法を試したことはありgit stashませんが、サーバーは実際には作業ディレクトリであってはならず、コードを受け取るだけである必要があります。

また、早期に分岐し、頻繁に分岐します。機能ブランチで開発git checkout masterすると、修正を作成してプッシュし、修正を機能ブランチに持ち込んでgit checkout feature-branchgit merge masterサーバー上のファイルを直接変更せずにコーディングを続けることができます。

于 2014-09-15T18:22:19.180 に答える