20210506のGitに関する記事は7件です。

Exiting because of an unresolved conflict. 解決方法

今回はターミナルでプッシュができない事態が発生し、その解決方法として色々なコマンドを叩いていたのですが、その中でgit merge origin/mainを叩いた際にExiting because of an unresolved conflict.が発生したので、その解決方法をご紹介します! エラー内容 $ git merge origin/main error: Merging is not possible because you have unmerged files. hint: Fix them up in the work tree, and then use 'git add/rm <file>' hint: as appropriate to mark resolution and make a commit. fatal: Exiting because of an unresolved conflict. どうやらコンフリクト起きているみたいです。 コンフリクト:「衝突」の意味で、ファイル上で「自分の作業」と「他人の作業」が重複してしまっている状態のことです。 解決手順 解決までの手順は以下の通りです! 1.git log --oneline --graph --allでブランチの一覧を取得し確認 2.git statusで現在の状態確認 3.表示された赤字で指摘されているファイルをadd、commit 4.再度git statusで赤字が消えたことを確認 5.コミットしたファイルをpush 1.ブランチの一覧取得 git log --oneline --graph --allを叩くと、下記のcafb650部分でブランチが枝分かれしてしまっているのが確認できます。 $ git log --oneline --graph --all * 9bf9dc2 (HEAD -> main) [add] デザイン実装 | * cafb650 (origin/main, origin/HEAD) [add] デザイン実装 |/ * b831743 [add] 在庫登録の項目追加 * 60ebefa [add] 在庫検索機能のコントローラ追加 * df3a0dc [remove] 在庫一覧表示のテンプレートファイルを削除 * 060eeaf [add] 在庫検索機能を追加 * c37030a [fix] 在庫の編集内容確認画面にアクセスできない不具合の修正 2.git statusで状態確認 git statusを叩いたら、何かのメッセージとパスが表示されましたね。 今回赤字で表示されたのが、Unmerged paths:の下に表示された2つのパスです! この最初のメッセージでは、ブランチが分岐しています。一つ一つ異なるコミットが存在しています。と書いてあり、下の指摘されたパスは、マージされていないパスとして赤字で表示されています。 $ git status //ブランチが分岐していると指摘されている On branch main Your branch and 'origin/main' have diverged, and have 1 and 1 different commits each, respectively. (use "git pull" to merge the remote branch into yours) //マージされていないパスがある You have unmerged paths. (fix conflicts and run "git commit") (use "git merge --abort" to abort the merge) //マージされていないパスが赤字で表示 Unmerged paths: (use "git add <file>..." to mark resolution) both modified: resources/views/stock/list.blade.php both modified: resources/views/stock/search.blade.php 3.マージされていないパスをインデックスに追加・コミットする では、マージされていないと赤字で指摘されたパスをgit add パスでインデックスに追加します。 次にgit commit -m 'コミットメッセージでコミットします。 4.再度git statusで状態確認 コミットまで完了したら再度git statusで状態を確認します。 すると、今回は赤字が消えているのが確認できるかと思います! そして、mainブランチは最新ですというメッセージも表示されました。 $ git status On branch main Your branch is up to date with 'origin/main'. 4.コミットしたファイルをリモートリポジトリに反映 最後にgit push origin mainでリモートリポジトリにプッシュして反映させます。 無事プッシュまで完了したので解決できました! 参考サイト https://tea-programming.blogspot.com/2020/03/gitfatal-exiting-because-of-unresolved.html
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Git gitのエラー error: remote origin already existsの解決方法

エラー内容と解決方法 作成したアプリを自分のgitアカウントのリモートリポジトリにaddしようとしたところ、 $ git remote add origin https://github.com/gitアカウント/リポジトリ名.git error: remote origin already exists. と表示され、うまくいかない。 こちらの記事を参考にして、すでに存在しているリポジトリを削除し、再度addを行うと、うまくできました。 すでに存在しているリポジトリを削除するコマンドは以下の通り。 $ git remote rm origin これで既存のリポジトリを削除して、再度addすることで、うまくいきました。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

gitのエラー error: remote origin already existsの解決方法

エラー内容と解決方法 作成したアプリを自分のgitアカウントのリモートリポジトリにaddしようとしたところ、 $ git remote add origin https://github.com/gitアカウント/リポジトリ名.git error: remote origin already exists. と表示され、うまくいかない。 こちらの記事を参考にして、すでに存在しているリポジトリを削除し、再度addを行うと、うまくできました。 すでに存在しているリポジトリを削除するコマンドは以下の通り。 $ git remote rm origin これで既存のリポジトリを削除して、再度addすることで、うまくいきました。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Git Stashで作業を一時避難

実務で作業を途中でコミットしたくないけど、他のブランチで作業しないといけないということがあり、 git stashを使って作業を一時避難しました。 git stashコマンドで作業を一時避難 git stash git stash save //saveはつけてもつけなくても良い ワークツリーやステージでの変更内容をstashという場所に一時的に避難させることができる。 なので、ワークツリーやステージでの変更が消えます。 実際にやってみます。。 ファイルを変更し、git status を行うと下記のように変更が確認できます。 git stash -u //一時的に避難させる 下記コマンドで確かめると、変更が消えています。 git status 避難した作業を確認 因みに、避難した作業を確認することができます。 git status list //避難した作業を表示 こんな感じで、確認できます。。 git stashを何度も行うと、stash@{0},stash@{1},stash@{2}と生成されていきます。 最新のstashは{0}になります。 避難した作業を戻す 避難した作業を戻してみます。 git stash apply stash@{0} //避難した作業を戻す はい!変更が戻ってきました。 避難した作業を削除 stashすると、どんどん溜まっていきます。 なので、削除しましょう。 git stash drop stash@{0} //避難した作業を削除 git stash clear //避難した作業を全削除 上記、コマンドを実行し、git stash list を行うとstashした作業が消えていることがわかります。 stashが溜まり、一気に削除するときはgit stash clearをしましょう。 stashした作業が消えるだけで、作業内容は消えないので安心して使ってみてください。。 実務でとても便利だと感じたのでshareします。 以上
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

クラウドソーシングで仕事をもらい始めた

コードを学び始めて三か月ほど。クラウドワークスに応募したが苦戦している。 前提知識 ・HTMLかじった ・CSSかじった ・JAVESCRIPTかじった ・Rubyを少しかじった ・なかまとアプリを作って、フロントをやっていた CWでCSSとHTMLのコーディングの仕事をもらった。しかし実際はエンブドHTMLを使っている。さらにJSと組み合わせての動作確認もしなければいけなかった。 従って、普段使っている以外の別環境の構築が必要であった。まずこれに苦戦する。普段使っていない環境について少しでも学んでいたほうがよかったと思ったし、契約前にそのことをしっかりと確認するべきだった。 さらにgitでチケットを使って開発を行っていたが、私は基本的なgitの使い方はわかるがチケットについては知らなかった。また、初めての仕事でもあり、テンパりgitでミスをしてしまった。 クラウドワークスに応募する前に知っておくべきこと&学んだこととしては ・gitについて中級者以上にしっておくべき。特にチーム開発 ・ひごろ使っていない他環境いついての知識 ・いざ分からないことがあったら聞ける友人をもつ ・契約時に具体的な開発の仕方とコードの書き方、ルールを聞く 私もかなり苦戦しています。同じようなかた、駆け出しプログラマー・エンジニアの方は一緒に頑張りましょう!
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Oh-My-Zsh入れるとGitのエイリアスを設定しなくても使えるって、知ってる?

最近知ったんですが、Oh-My-ZshをインストールするとOh-My-ZshがGitのエイリアスを設定してくれるみたいです。 g: $git gst: $git status gl: $git pull gup: $git fetch && git rebase gp: $git push gc: $git commit -v gca: $git commit -v -a gco: $git checkout gcm: $git checkout master gb: $git branch gba: $git branch -a gcount: $git shortlog -sn gcp: $git cherry-pick glg: $git log --stat --max-count=5 glgg: $git log --graph --max-count=5 gss: $git status -s ga: $git add gm: $git merge grh: $git reset HEAD grhh: $git reset HEAD --hard gsr: $git svn rebase gsd: $git svn dcommit ggpull: $git pull origin $(current_branch) ggpush: $git push origin $(current_branch) gdv: $git diff -w "$@" | view - ggpnp: $git pull origin $(current_branch) && git push origin $(current_branch) git-svn-dcommit-push: $git svn dcommit && git push github master:svntrunkgpa: $git add .; git commit -m "$1"; git push; おまけ よく使うOh-My-Zshのエイリアス # dir名だけで移動可能 cd 不要です $ Desktop # コレと同じ $ cd Desktop # dir名をtakeの後に指定するとディレクトリを作って、そのディレクトリに移動してくれます $ take me # コレと同じ $ mkdir me && cd me
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Gitアカウントを複数使い分ける

背景 個人開発ではgithub,インターンではgitlabなど複数のアカウントを使い分ける必要があるときの簡易的対処 gitアカウントの設定は2種類ある. 1つ目グローバルを変更 (主アカウント) ~/.gitconfigへ書き込む git config --global user.name "hoge" git config --global user.email "hoge@fuga.com" 2つ目リポジトリごとにアカウントを設定(基本これで管理したがいい) リポジトリの .git/configに書き込む git config --local user.name "hoge_sub" git config --loca user.email "hoge_sub@fuga.com" 変更が反映さ入れているか確認 git log commit XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Author: hoge_sub <hoge_sub@fuga.com> # ここに変更内容が反映されているはず! Date: Thu XXX x xx:xx:xx xxxx +xxxx add file
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む