今さら聞けないGit 2020年11月25日

今さら聞けないGit 2020年11月25日

Sourcetree SSHキーの設定

原因はわかりませんが、突然git push ができなくなって、手動でSourcetreeでのSSHキーの作成からGithubへの再登録を行った。
その忘備録。

## 問題
Sourcetreeでいつもの通りにコミットした内容をリモートリポジトリにプッシュしたら以下のようなエラーが出た。
念のためターミナルソフト(CUI画面)で再度プッシュしても以下のエラーが出た。

“`
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
“`

## 解決策
結論、元々Sourcetreeによって作成されていたファイルを削除して(sshディレクトリ内のconfigファイルのSourcetreeによる記述箇所とSourcetreeによって作成されたsshキー)、SSHキーを再度作成して、G

元記事を表示

コミットコメントにプレフィックスを含めると分かりやすくなる

## プレフィックス

[angular.jsのDEVELOPERS.mdを参考](https://github.com/angular/angular.js/blob/master/DEVELOPERS.md#type)

– feature: 機能追加
– fix: バグ修正
– docs: ドキュメント修正
– style: コードスタイル修正(フォーマッター適用など)
– refactor: リファクタリング。機能追加やバグ修正など、動作を変更するものは入れないこと!!
– performance: パフォーマンス向上目的の修正
– test: テスト系のみの修正

参考のほうは、略称を使ったりしていたがブランチ名にも使いたいため、略さずにつけることにした。

あと、ライブラリ修正とか細かすぎるかなぁと思うところは消した。

## ブランチ名も合わせる

– feature/converter
– fix/converter
– refactor/converter

などなど

## 感想

職場でもコミットコメントのプレフィックス付ける部分のみやってみたが、リリース時の今

元記事を表示

【git】pushしてしまった後に過去コミットに戻す方法

### `gitでリモートにpushしてしまったけど、過去コミットに戻したい!`そんな時の攻略法を簡潔に紹介

##1 git log でコミットの 番号を確認する

““
$ git log
“`

するとこんな感じで出てくる

“`
commit 6ca09f7747e6ef84761d9d33a8373731836877eb (HEAD -> feature/tweet_list, origin/feature/tweet_list)
Author: nozomi
Date: Sun Nov 22 13:23:21 2020 +0900

ページネーションを実装

commit cc2ede3638ebe6a6b768aa1fd269a2262e79d400
Author: nozomi
Date: Sun Nov 22 12:44:28 2020 +0900

seed画像をビューに表示。アップロード画像をgit管理下から排除

“`

今回は
` seed画

元記事を表示

Gitのcherry-pickを取り消す

cherry-pickで反映したコミットは「git reset」コマンドで取り消すことができる。

“`
$ git reset –hard HEAD~
“`

cherry-pickしたブランチをリモートに上げてしまっている場合、取り消ししたブランチをpushしようとすると以下のようなエラーになってしまう。(リモート)

“`
$ git push origin master
To https://gitlab.com/hoge/hogehoge.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to ‘https://gitlab.com/hoge/hogehoge.git’
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote change

元記事を表示

PowerLineを久々試してみたら簡単にPowerShellが見やすくなった

#はじめに
まずPowershellにPowerLineを適用するとどうなるのかですが、

– カレントフォルダ表示がLinux風になる
– コマンド実行時刻が各行表示される
– Gitの情報が常時みれる

過去失敗したけど、今すごく簡単にできたし、
見たい情報がすぐ見れる(=サボれる)のでオススメです。
![fdsa.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/134703/db224e6a-0740-9a59-35c4-1e9afc94bf89.png)

#今日の午後
SSHの設定方法をMS Docsで読んでいたら、
隣のページにPowerLineが載っているではないですか!
以前やろうとして詰んだ記憶がよみがえります。

うわ、簡単にできた!

#過去の失敗

– 自機がLinuxやUnixのプログラマーは当たり前のように使っているらしい。
– なんかキレイで見やすいらしい
– PowerLineってのだとPowershellにも適用できるらしいぞ?!

こんな感じの理由から半年前くらいに挑戦

元記事を表示

error: ‘hoge/’ does not have a commit checked out

# はじめに

新しく作ったファイルをpushしようと思い、

“`
$ git add .
“`
したら、error: ‘hoge/’ does not have a commit checked outと出た。
.gitがファイルと、ファイルの中のファイルにあったのが原因見たいだった。

# 解決

https://zjschulz.medium.com/error-does-not-have-a-commit-checked-out-573c0ed9c49

このサイトをなぞった。
フロントエンドとバックエンドでファイル一つのファイルにまとめて作るときは、はじめに、リモートに空のファイルををpushしてから、フロント、バックをそのフォルダの中に作成して,add, commit, pushした方がいい。

元記事を表示

【初心者向け】git pull, git fetch, git pushで何が起きているか図解してみた

#はじめに
最近Gitの勉強をしているのですが、git pullやgit fetch等解釈が難しいと感じたので、図解してみようと思います。
同じくpull, fetch, pushで混乱している人の参考になれば良いなと思います。

分かりにくかったり、誤った記載があれば、コメント欄にて優しく教えていただけると嬉しいです!

#用語の説明
– リポジトリ:リポジトリとは変更を記録するための場所です。
– ローカルリポジトリ:自分のPC上のリポジトリ
– リモートリポジトリ:ネットワーク上のリポジトリ(Github等)

– ブランチ:直近のコミットを指し示すポインタ
– ローカルブランチ:ローカルにあるブランチ(例:master)
– リモート追跡ブランチ:リモートブランチの動きを追跡するブランチ(例:origin/master)
– リモートブランチ:ネットワーク上にあるブランチ(例:master)

#git pull, git fetch, git pushについて
git pull, git fetch、git pushの動きを大まかに見ていこうと思います。

元記事を表示

GitHubのデフォルトブランチ名がmainになってからプッシュできず詰まっていたのを解決できた件

# はじめに
c++で作品を作っていてGitHubにコミットしてプッシュしようとしたときのことでした

今までは、デフォルトブランチ名がmasterだったときはらくらくできていたが、デフォルトブランチ名がmainブランチに変更されてから
この謎は始まったのであった。

自分が忘れないようにメモとして書いているものだが、もし同じように困っている人の役に立てたら幸いです。

## どういう謎だよ

まずいつも通りにGitHubで新しいリポジトリを作成して
ターミナル下記を入力

git init
git remote add origin [新しいリポジトリを作成したURL]
git add .
git commit -m “first commit”

//ここで、pushなりgit pullなりで問題が起こる

git push origin main
git
* branch main -> FETCH_HEAD
fatal: refusing to merge unrelated histories

とか
error: src refspec

元記事を表示

リモートリポジトリのURLを変更したい

githubで良さげなソースコードをcloneしてみて、自分のgithubで管理したいというときはリモートリポジトリのURLを変更する必要があります。

そんなときに読むめも

# リモートリポジトリのURLの確認
“`git
git remote -v
“`

こんな感じでリモートリポジトリのURLが見れます。

“`git
origin git@github.com:USERNAME/REPOSITORY.git (fetch)
origin git@github.com:USERNAME/REPOSITORY.git (push)
“`

# リモートリポジトリのURL変更
“`git
git remote set-url origin https://github.com/USERNAME/REPOSITORY.git
“`

githubでリポジトリ作れば、git remote set-url origin以降のURLはコピペで取得できるので、それを貼り付ければおわり

最後に冒頭のコマンドでリモートリポジトリのURLが変わっていることが確認できればOKです

元記事を表示

【自主学習の記録 part1】GitLabの基本的な使い方その3

#概要
前回に引き続きプロジェクトの基本機能について触れていきます。
今回はプロジェクトのマージ実行時の競合について学習していきます。

#競合(コンフリクト)
GitLab上のプロジェクトにあるファイルについて、例えば2人のプロジェクトメンバーがプロジェクトのクローンを行い、全く同じファイルを編集したとします。
メンバーAが編集を完了し、GitLab上のマスターブランチへマージを行います。
当然マスターブランチにはメンバーAが編集したファイルとして更新されている状態になります。
この状態で異なる編集を行ったメンバーBがマスターブランチへマージを実施しようとすると、メンバーBのクローンしたファイルにはメンバーAが編集した内容が反映されていませんので、その差分が発生してしまいます。
この状態を競合(コンフリクト)と呼びます。
実際に競合を発生してみたいと思います。

##競合の発生
まずは以前作成したプロジェクトのクローンを行います。
今回もGitBashを使用します。
![GitLab01.PNG](https://qiita-image-store.s3.ap-northeast-1

元記事を表示

[初心者必見]git log –online とgit log の違い

commitメッセージを確認するときに

“`
$ git log
“`

を使うと思いますが

コミットメッセージ だけ確認したい時は

“`
$ git log –oneline
“`

を使うとかなり見やすくなるのでおすすめです!

実際にやると

これが

![スクリーンショット 2020-11-22 19.52.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/674994/fa820313-9722-f59e-f90b-0d5a0fe2432c.png)

こう![スクリーンショット 2020-11-22 19.53.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/674994/1aed6ad1-e066-21b9-f022-562a122b08da.png)

です。

“git log”のオプションは他にも便利なものがあるみたいなので気になる方はこちらのページがおすすめです。
https:

元記事を表示

Gitの用語集

##はじめに
この記事はJ自分用のメモです。
※内容について、誤った知識やもっとわかりやすい表現等ございましたら、ご指摘いただけますと幸いです。

|用語|意味|
|—|—|
|ディレクトリ|フォルダのこと|
|リポジトリ|開発の履歴管理を行う場所
|ローカルリポジトリ|自分のPCにあるリポジトリ、各人がそれぞれのPC上で使うリポジトリ
|リモートリポジトリ|GitHubにあるリポジトリ、サーバに配置して複数人で共有するリポジトリ
|ブランチ(branch)|履歴を枝分かれさせること
>他のブランチの影響を受けないため複数の作業を同時に進められる
>作業単位で履歴を残すことで後で見た時にわかりやすい
・git branch [branch-name]:ブランチの作成
・git branch:ブランチの一覧表示
・git branch –d [branch-name]:指定したブランチを削除
|マージ(merge)|ブランチで枝分かれした履歴を1つにまとめること
|コミット(commit)|ファイルの追加や変更の履歴をリポジトリに保存するコマンド

元記事を表示

たまにしかgitを使わないひとのための、最小限の備忘録

たまにしかgitを使わないひとのための、最小限の備忘録

“`
git init
git add *
git commit -m “initial commit”
git remote add origin http://xxxxxx.xxx/xxxx.git
git push origin main

“`

元記事を表示

mac os Big Surユーザ git kraken速度改善方法

この記事はMac OS big surのユーザが対象です

# git kraken速度完全方法

公式のtwitterアカウントが一時的な回避方法を載せいていました。

このコードは一部の署名を消すコマンドだそうです。

“`bash
codesign –remove-signature /Applications/GitKraken.app/Contents/Frameworks/GitKraken\ Helper\ \(Renderer\).app
“`

git krakenをアップデートした際にはもう一度このコマンドを打つ必要があると書いていました。

翻訳ソフトをかけただけなので詳しく知りたい方は、下の文を読んでください。

## tweet原文

“`
This is currently a known issue with the new Mac Big Sur OS.

As a workaround, consider running the following command in your terminal:

codesign –remove-s

元記事を表示

Gitをやってみよう(リモートブランチを作るとマージしてみる)

## リモートブランチを作ろう

とりあえずフォルダとファイルを作る

![image.png](https://bootcamp.fjord.jp/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBd0g4QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==–680964ef27b9448dbf83b7fbe8eb26042f103fc8/image.png)

GitHubのページに行き、右上の New repositoryをクリックする
![image.png](https://bootcamp.fjord.jp/rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBd0w4QVE9PSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==–2119c01c62fd9618ef3f555c252531a582520217/image.png)

ローカルのフ

元記事を表示

GitとCIの説明

#CI(継続的インテグレーション)の基本

共有しているリポジトリに統合するだけで、「ビルド」と「テスト」が自動的に実行される手法のことを言います。
Gitのリポジトリにコミットする

https://tracpath.com/bootcamp/ci/continuous-integration.html

有名なソフトウェア
サークルCI、ジェンキンス

【Java版】CI(継続的インテグレーション)ツール導入ガイド

https://tracpath.com/bootcamp/ci/

#Git

コンクリフトがおきた時の対処方法
git reset –merge

チーム開発を行う際には
全員にGITのIDを作成してもらう、
レポジトリを作成するA 各チームにAのクローンを作成してもらう
各自ローカルレポジトリを作成してもらい、クローンを入れる。

変更を行ったら、ステージ、コミットでローカルでコミットを行い
レポジトリにプッシュする、まちがえてしまったりしたら本体のプルすること

プルした際にコンクリフトが発生したら、適時判断してどちらを優先させるか
判断する事。

プッシ

元記事を表示

スクール3週目 アプリ作成

1〜2週目で基礎カリキュラムを終え、3週目からは応用カリキュラムへと入りました。
新型コロナの影響で自粛ムードが続きますが、コロナの不安も忘れるぐらい集中して勉強できているのは受験生以来だなとつくづく思いました。

社会人になってからも勉強は大切なことを身にしみました。プログラミングを短期集中で学ぶことで理解度を高められると思うので、この良い学習習慣を継続させていきたいと思います。

#応用カリキュラム :bulb:
・質問フォーマットの活用
・検索力、読みやすいコード
・JavaScript、jQuery基礎
・Git、GitHub
・SQL

**質問フォーマットの活用** :camera_with_flash:
まず応用カリキュラムに入るにあたって、メンターへの質問方法が変わりました。
これまではわからないことがあればエラー内容をそのまま教えてもらったり、ミスしている部分を修正してもらえたのですが、これからは検索して調べ、そこから仮説を立てて実践、それでもわからなければメンターへその内容を踏まえ質問をする、という形式です。

個人的には、これまでもそのように質問していましたが3

元記事を表示

gitコマンドを2要素認証に対応させるメモ

1. `git`に関する認証情報の保存先を確認する。
– Windows環境

“`
$ git config –global credential.helper
manager
“`

1. `manager`の場合、`GCM(Git Credential Manager)`に保存される。

1. `GCM`から`github.com`に関する認証情報を取得する。

“`
$ git credential-manager get
protocol=https[Enter]
host=github.com[Enter]
[Enter]
“`

“`text
protocol=https
host=github.com
path=
username=foobar@example.com
password=********
“`

1. `GCM`から`github.com`に関する認証情報を削除する。

元記事を表示

docker-composeとGitを利用したWebシステム開発の効率化

## はじめに
[【コンテナとGitを利用したWebシステム開発の効率化】](https://qiita.com/smiler5617/items/f34382145ec426820710)というタイトルで記事を投稿したが、その後`docker-compose` も試しに使ってみたので、その時の内容をメモとして残しておく。

## 実行環境
【Docker導入環境】
  ・Ubuntu 20.04 LTS(GCP上)
  ・docker 19.03.13
  ・docker-compose 1.25.0

【コンテナ環境】
  ・Image Ubuntu:20.04
  ・Apache 2.4.41  ※バージョン指定をしていないのでインストール時の最新

## 試してみる事
以下の流れで、`docker-compose` を使ってWebサービスの立ち上げ・停止などを試してみる。

1.環境準備
2.Github上にリポジトリを作成
3.ホスト側で用意するファイル
4.`docker-compose` を使った操作確認

## 1.環境の準備

**GCP上にVMインスタンスを作

元記事を表示

メモ git管理しているプロジェクトに別のリポジトリをgit cloneしたいとき

## リモートから新たに何かクローンしたい

既にgit initされているフォルダに別のモジュールをリモートからクローンしてくる場合を考える

“`cmd
$ git clone https://github.com/usr/something
“`

これでクローンされた。
statusを見てみる

“`cmd
$ git status

Untracked files:
(use “git add …” to include in what will be committed)
something/
“`

git addすると警告が出る

“`cmd
$ git add .
warning: adding embedded git repository: something
hint: You’ve added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the con

元記事を表示

OTHERカテゴリの最新記事