なんらかの理由で、今はプッシュできませんが、昨日はプッシュできました。多分私は設定か何かを台無しにした。
これは何が起こるかです:
git push origin masterを使用する場合
私の作業ディレクトリとリモートリポジトリは次のようになります。
なんらかの理由で、今はプッシュできませんが、昨日はプッシュできました。多分私は設定か何かを台無しにした。
これは何が起こるかです:
git push origin masterを使用する場合
私の作業ディレクトリとリモートリポジトリは次のようになります。
回答:
ローカルで作業しているときにGitHubリポジトリに新しいコミットがプッシュされたことを確認した場合は、次を使用することをお勧めします。
git pull --rebase
git push
完全な構文は次のとおりです。
git pull --rebase origin master
git push origin master
Git 2.6以降(2015年9月)では、実行後(1回)
git config --global pull.rebase true
git config --global rebase.autoStash true
シンプルgit pull
で十分です。
(注:Git 2.27 Q2 2020では、merge.autostash
通常のプルでもリベースなしで使用できます)
そのように、あなたは(リプレイう--rebase
新しく更新されたの上、お近くのコミットを部分)origin/master
(またはorigin/yourBranch
:git pull origin yourBranch
)。
第6章「Git Pocket Bookのリベースでプル」のより完全な例を参照してください。
私はお勧めします:
# add and commit first
git push -u origin master
これにより、ローカルマスターブランチとそのアップストリームブランチの間に追跡関係が確立されます。
その後、そのブランチに対する将来のプッシュは、シンプルで実行できます。
git push
「なぜ新しいブランチを明示的にプッシュする必要があるのですか?」を参照してください。
OPはすでにので、リセットしてやり直しそのコミットの上にorigin/master
:
git reset --mixed origin/master
git add .
git commit -m "This is a new commit for what I originally planned to be amended"
git push origin master
する必要はありませんpull --rebase
。
注:オプションはを使用する場合のデフォルトのオプションであるため、git reset --mixed origin/master
も書き込むことができます。git reset origin/master
--mixed
git reset
誰かが試しましたか:
git push -f origin master
これで問題は解決するはずです。
編集:以下の@Mehdiのコメントに基づいて、私は何かについて明確にする必要があり
—force pushing
ます。上記のgitコマンドは、最初のコミットに対してのみ安全に機能します。以前にすでにコミット、プルリクエスト、またはブランチがあった場合、これによりすべてがリセットされ、ゼロから設定されます。もしそうなら、より良い解決策のために@VonCの詳細な回答を参照してください。
-f
/ --force
それは使用することが常に安全です--force-with-lease
プッシュによって上書きさになるだろう下流の変更がある場合は中止しますこれは、代わりに。 --force-with-lease
毎日のリベースの多くの状況で必要ですが、--force
ほとんど必要ありません。
を使用git init
してファイルをgit add .
追加したり、リモートブランチを追加したりした場合git commit -m 'commit message'
、リモートにプッシュするためにローカルで何かをコミットしていない()可能性があります...このエラーが発生しただけで、問題。
同じ問題がありました。最初のコミットでさえもコミットをしておらず、まだプッシュしようとしていたため、この問題が発生していました。
一度やればgit commit -m "your msg"
、すべてがうまくいきました。
この問題の解決策はgithubのヘルプにあります。
あなたはそれを見ることができます:非早送りエラーへの対処
それは言う:
これを修正するには、リモートブランチで行った変更をフェッチして、ローカルで行った変更とマージします。
$ git fetch origin
# Fetches updates made to an online repository
$ git merge origin branch
# Merges updates made online with your local work
または、単にgit pullを使用して両方のコマンドを同時に実行することもできます。
$ git pull origin branch
# Grabs online updates and merges them with your local work
git init
git remote add origin https://gitlab.com/crew-chief-systems/bot
git remote -v
(現在のリポジトリをチェックするため)
git add -A
(すべてのファイルを追加)
git commit -m 'Added my project'
git pull --rebase origin master
git push origin master
私は同じ問題に直面していました、以下の手順で修正しました。
git init
git add .
git commit -m 'Add your commit message'
git remote add origin https://User_name@bitbucket.org/User_name/sample.git
(上記のURL https://User_name@bitbucket.org/User_name/sample.git はビットバケットプロジェクトのURLを指します)
git push -u origin master
ヒント
次のコマンドを使用して、gitハブアカウントがローカルgitとリンクしているかどうかを確認します。
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
私は次の手順を実行しましたが、うまくいきました。
rm -rf .git
git init
git add .
git commit -m"first message"
git remote add origin "LINK"
git push -u origin master
GitHubに空のリポジトリを作成し、コードをローカルに持っています。私は今、同じ問題に直面しました、私は以下のシーケンスに従ったので、
git init
git commit -m 'Initial Commit'
git remote add origin https://github.com/kavinraju/Repo-Name.git
git add .
git push -u origin master
問題WAS:自分が持っているファイルをステージングする前にコミットしようとしました。
したがって、ファイルをステージングしてコミットする必要があります。
これは正しいシーケンスです。
git init
git add .
git commit -m 'Initial Commit'
git remote add origin https://github.com/kavinraju/Repo-Name.git
git push -u origin master
最初に間違ったシーケンスを実行するので、以下のコマンドを実行するだけです
git add .
git commit -m 'Initial Commit'
git push -u origin master
これが当てはまるかどうかはわかりませんが、私にとっての修正は、git initの後にローカルで何かをコミットすることでした。次に--set-upstreamを使用してリモートにプッシュしました...
私のために解決された新しいブランチを作成する:
git checkout -b <nameOfNewBranch>
予想通り、前のブランチは新しいブランチに完全に含まれていたため、マージする必要はありません。
git push origin feature22-fix
、feature22-fix
ローカルでもリモートでも終了しなかったため、まずブランチをローカルでチェックアウトしてからプッシュする必要がありました
私の場合、husky
プッシュを許可しないのは私のパッケージでした。
> husky - pre-push hook failed (add --no-verify to bypass)
> husky - to debug, use 'npm run prepush'
error: failed to push some refs to 'https://username@bitbucket.org/username/my-api.git'
強制的にプッシュするには、実行するだけです
git push origin master --no-verify
私はnpm run prepush
エラーをデバッグするために走りました、そしてこれが原因でした:
npm ERR! code ELOCKVERIFY
npm ERR! Errors were found in your npm-shrinkwrap.json, run npm install to fix them.
npm ERR! Invalid: lock file's loopback-utils@0.8.3 does not satisfy loopback-utils@^0.9.0
蘭npm install
とそれをコミットし、問題が固定されています。
このgitコマンドを試してください。
git push origin master –f
git push origin master --force