You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
GitHub上でプルリクをマージした後に、まだマージできる状態では無かったと気付きrevertする事ってありませんか? その後に問題になるのが、revertしたのはいいけど、引き続きそのrevertされたブランチで作業してまたプルリクを発行したい。という状況です。 この時に何も考えずに普通に作業を続行してプルリクを発行した場合、revertされた分の変更が失われてしまいます。 結構でかい事故に繋がる場合があるので、この時の対処方法を書きたいと思います。 前提 以下の操作を行っている。 プルリクを発行 プルリクをマージ マージ済のコミットのrevertプルリクを発行 revertプルリクをマージ ここまでの操作はGitHub上ですんなり行える。 再度revertされたブランチのプルリクを発行してみる 普通の感覚だと、また差分が復活していると思うのでプルリクが発行できそうな気分になると思います
Gitを覚えたての初心者が一番よくやらかすミスは、パスワードやAPIキーをハードコーディングしたものをリモートリポジトリにプッシュしてしまうことじゃないだろうか。 もちろん速やかにパスワードやキーの変更をすることは前提だが、問題は恥ずかしいコミット履歴がその後も残ってしまうことだ。 そんなときにどうすればいいか、この前teratailで他の人の回答を見る機会があったので実際に試してみた。 はじめに この方法は、ざっくり言えば歴史を改変することに等しい。多人数で開発をしているときに何の断りもなく使うと、トラブルが起こる可能性が高いので注意すること。 やらかしたコミットを作る 実際にリポジトリを作り、プッシュを2回行った。内容はteratailのAPIを叩くサンプルコードだ。 github.com $ git log --oneline bd6c846 (HEAD -> master, ori
$ git checkout master $ git pull $ git checkout <topicブランチ> $ git rebase master コンフリクトを修正 $ git add <修正したファイル> $ git rebase --continue $ git log commit履歴を確認 $ git push -f origin <topicブランチ> Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationWhat you can do with signing up
[git reset (--hard/--soft)]ワーキングツリー、インデックス、HEADを使いこなす方法Git新人プログラマ応援 1. gitの基礎(言葉の意味) ワーキングツリー[working tree]:最新のファイルの状態 インデックス[index](ステージ[stage]):コミットするためのファイルの状態 ローカルリポジトリ[local repository]:ファイルの変更履歴を記録(手元で管理) ヘッド[HEAD]:最新のコミットの状態 リモートリポジトリ[remote repository]:ファイルの変更履歴を記録(みんなで共有) add:「ワーキングツリー → インデックス」への反映 commit:「インデックス → ローカルリポジトリ」への反映 push:「ローカルリポジトリ → リモートリポジトリ」への反映 2. git resetを使いこなす git re
しばらく使ってないと忘れるので自分用メモ snippet git commit --allow-empty git commit --allow-empty -m "" 備考 利用法としては以下のようなプルリク作成など http://qiita.com/a-suenami/items/129e09f8550f31e4c2da Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
git pull して、リモートブランチの最新に合わせようとしたら・・、あれ?コンフリクト・・?なにこれ、うまくいかない!「git push -f origin masterして強制Pushはできたのに。git pull -f origin master的な強制コマンドはないの?!」 とにかくリモートに合わせたい。そんなあなたのための、解決方法と解説です。 「git pull --force」は存在しない・・。 「git push --force」というコマンドがあるので、そこから連想してしまいますが、「git pull --force」というオプションは存在しません。 git pull の強制的に実行するには、別のコマンドが必要になりますので、見ていきましょう。 git pull で、ローカルを強制上書きする方法 ローカルのmasterを、強制的にリモートのmasterに合わせる //
問題 gitでは空気を吸うようにブランチを作り空気を吐くようにマージを行います。 例えば新機能Xを実装する場合、 X用のトピックブランチを作成し、実装を進めて、完成したら統合ブランチへマージする というのが普通です。 具体的にコマンド例を挙げると以下のようなものになります: $ git checkout -b topic-x master Switched to a new branch 'topic-x' $ $EDITOR $ git add foo.x bar.x baz.x $ git commit -m 'Implement X' [topic-x 0000001] Implement X 3 files changed, 8 insertions(+), 5 deletions(-) $ $EDITOR $ git add qux.x $ git commit -m 'Fix
Git のコミットには、Author と Commiter の2つが存在します。 例えば、いつもと違う PC を使ったときに、.gitconfig の設定が違うと、コミットに意図しないメールアドレス・ユーザー名が入ったりします。 Git で見るとこんな感じ $ git log -1 --pretty=full commit befdbcd2389373088fe3e83d9c0d401a9de7717d Author: hogehoge <dummy@example.com> Commit: fugafuga <test@example.com> add test.txt GitHub 上では、コミットに表示される、いつもの自分のアイコンが表示されなくなるので、ちょっと気になります。 そこですでにコミットしてしまった、コミットの Author と Commiter を変更する方法についてま
環境 CentOS release 6.4 (Final) 経緯 yumで入れられるgitが1.7.1までだった(2014/12/11現在) ius、wandiscoのrpm使ってもうまく入らない... やむなし...ソースコードからやるか... 手順 # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel # wget https://www.kernel.org/pub/software/scm/git/git-2.2.0.tar.gz # cd git-2.2.0 # ./configure # make # make install # git --version git version 2.2.0 最初に、必要なパッケージを入れておかないと、make時にエラーが出てくれるパッケージもあ
はてなブログさんの開発フローのお話 少し前の話になるんですが、GitHubKaigiで はてなブログさんの開発フローについて発表がありました。 その中で 当初はGitHubとRedmineを併用していたが、 両ツールの連携がイマイチだったので Redmineを止めてホワイトボードでタスク管理するようにしたという内容がありました。 https://speakerdeck.com/shibayu36/hatenaburogutimufalsekai-fa-hurotogithub 「ふむふむ、なるほどなぁ」という感じで非常に勉強になったのですが、 もしかしたら 「"GitLab+Redmine" ならツール自体が連携機能を持っている」 のでもう少しマシになるのかも?とも思いました。 そこで、GitLabとRedmineを使うと 一体どういうことが出来る様になるのか?といったところを紹介してみま
pick 8145f1c Fix screen rotation problem pick d90db4a v1.2.4 pick 646bf79 Fix screen rotation problem pick 71a6940 v1.2.4 # Rebase ed7420a..71a6940 onto ed7420a # # Commands: # p, pick = use commit # r, reword = use commit, but edit the commit message # e, edit = use commit, but stop for amending # s, squash = use commit, but meld into previous commit # f, fixup = like "squash", but discard this c
Gitのコミットメッセージの書き方 自分なりにまとめてみました。Git歴浅いので、意見募集中です。 (2014年12月17日追記) 想像以上にたくさんの方にストックなりはてブなりいただいたので、はてブでなるほど!と思ったコメントをもとに少し修正・加筆してみました。 (2022年1月4日追記) 最新の書き方をこちらに書きました。 https://zenn.dev/itosho/articles/git-commit-message-2023 原則 以下のフォーマットとします。 1行目:変更内容の要約(タイトル、概要) 2行目 :空行 3行目以降:変更した理由(内容、詳細) 日本語でも英語でもOKですが、リポジトリで統一してください。 1行目 コミット種別と要約を書きます。フォーマットは以下とします。 [コミット種別]要約 コミット種別 以下の中から適切な種別を選びます。 (多すぎても悩むので
git-lesson.md git初心者への道 Level 1 まずやってみよう - コミットする、ログを見る、差分を見る 初登場するコマンド: init, add, commit, log, config, status, diff Level 2 もうちょっとやってみよう - helpを見る、履歴をたどる、.gitignore 初登場するコマンド: help, clean Level 3 やりなおしたり戻したりしてみよう - 修正を戻す、コミットを戻す、打ち消す 初登場するコマンド: reset, show, revert Level 4 ブランチをつくってみよう - ブランチを作る、マージする 初登場するコマンド: branch, tag, merge, cherry-pick, rebase Level 5 みんなでやろう - リモートリポジトリと同期する 初登場するコマンド: c
gitでサブモジュールを使っていて、そのサブモジュールはリモートリポジトリからコードを引っ張ってくるためだけの目的で使っている場合、そのサブモジュールの内容は自分ではいじることはなくて、単にリモートリポジトリのコピーであればいい。 で、サブモジュールの内容を最新に更新しなきゃな―、って思って pullしたときに、衝突がワンサカ出た。リモートリポジトリ側でブランチがきちんと管理されていればこういう衝突は起こらないはずだが、まあそこは何か事情もあるのだろうし、完璧を求めても仕方ない。 ってことで、今回はmasterブランチを使っているので、ローカルのmasterブランチをリモートのmasterブランチの内容で強制的に上書きしてやることにする。masterブランチをチェックアウトした状態で、 git fetch origin git reset --hard origin/master でOK。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く