今さら聞けないGit 2021年08月11日

今さら聞けないGit 2021年08月11日

【講義02.PC概論】ホームディレクトリ直下で git init した話

# 本記事について
Git/GitHubを使用した課題提出時に起こったヒヤリ事例を思い出し記録するものです。
ターミナル誤操作でGitHubにDesktopを大公開しようとしていた失敗を、P2Pで深夜まで一緒に対応してくれた同期への感謝を込めて認めます。

# 伝えたいこと
– ターミナル操作時の現在地確認 & cd によるディレクトリ移動は最重要!
– ホームディレクトリ直下で git initした際 .gitフォルダを消して解決した!

# 用語の確認
– ディレクトリ:おおまかにはフォルダと同義。
– ホームディレクトリ:ターミナル起動後、最初にいる場所。
私の場合は、MacBook > Macintosh HD > Users > 【自分の名前フォルダ】←ここ
– カレントディレクトリ:現在地。今いるディレクトリのこと。
– cd:現在地から指定ディレクトリに移動するためのコマンド。

# 事の顛末
GitHubでリポジトリを作成しファーストコミットを終えた翌日、ファイルの修正を反映するため2度目のコミットを試みたところ、これが表示された。

### error: fai

元記事を表示

[自分用忘備録]git push解決

# この記事は
先日いきなり`git push`ができなくなったのでその対処法。

##起きたエラー

“`
! [remote rejected] ローカルブランチ名 -> リモートブランチ名 (failure)
error: failed to push some refs to ‘github.com:hogehoge/hogehoge.git’
“`

オプションに-fを付けても同じエラーでプッシュできませんでした。
`git push -f origin ブランチ名`

## まずやってみたこと
リモートを確認
`git remote -v `

ローカルをきれいにする(ファイルの差分を全部消す)
`git checkout — . && git clean -df`

リモートから最新を取得
`git pull origin ブランチ名`

または、
`git fetch`
`git merge origin/ブランチ名`

これだけやってもダメでした。

## 解決法
“`
git push -u origin ブランチ名
“`

リモートとの

元記事を表示

Gitでコミットをまとめる

##概要

コミットした後にミスに気付いて修正、それが何回も続くことがある。
最初のコミットは修正部分だが、それより後は微修正。それで4コミットも5コミットも表示されると肩身が狭い。
コミットをまとめて履歴をきれいにしよう。

## ローカルの場合(SourceTreeを使う)

[参考](https://syslog.life/2020/07/19/git-sourcetree-%E3%82%B3%E3%83%9F%E3%83%83%E3%83%88-%E3%81%BE%E3%81%A8%E3%82%81%E3%82%8B-%E3%82%B9%E3%82%AB%E3%83%83%E3%82%B7%E3%83%A5/)

3つまとめる場合には、最新のコミットから4つ目のコミットを選択状態にし、右クリックから「(4つ前のコミットハッシュ)の子を対話形式でリベース」を選択。
**一番上のコミットを選択し、「過去を含めて squash する」** をクリック、を `まとめるコミット数 – 1` 回繰り返す。
最後に「メッセージを編集」をクリックしてまとめたあとのメッセージを設定する。
上記

元記事を表示

遭遇したエラー集

#Rspec failure/error: user = factorybot.build(:user) keyerror: factory not registered: “user”の解決
###解決法
spec/models/factories/users.rbをspec/factories/users.rbにして解決
#no such file or directory @ rb_sysopen – public/user_images/1.jpgの解決
###解決法
publicにuser_imagesフォルダを作る。
#Mysql2::Error: Duplicate column name ‘image_name’の解決
###解決策
migrationファイルを空にする=>rails db:migrate=>成功=>元の通りの記述をする=>rails db:migrate
#Gemfileがないエラー(間違えて消してしまったとき)+command+Zでも元に戻らないとき
“`
$ bundle init
“`
上記の実行でGemfileが作られる=>インストールした

元記事を表示

GitHubからBitbucketへGitのリポジトリを移管する

# GitHubからBitbucketへリポジトリを移動させる

**GitHubにあるリポジトリをBitbucketへ移動させる**機会があったのでその方法を残しておきます。

# 1.GitHubのリポジトリのURLをコピーしてくる

ちなみにprivateなリポジトリでも移管可能

# 2.Bitbucketの左メニューからリポジトリを選択して開く

![FireShot Capture 165 – Bitbucket – bitbucket.org.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/85815/cfbe4c2a-e9c5-8de0-b3a0-b50df419b499.png)

# 3.「既存のコードをインポート」にあるそれぞれの項目を入力

![FireShot Capture 164 – 既存のコードをインポート — Bitbucket – bitbucket.org.png](https://qiita-image-store.s3.ap-northeast-1.amaz

元記事を表示

git remote で 複数のリモートリポジトリを管理

現在のリモートリポジトリを確認
“` git remote -v “`

リモートリポジトリ追加
“`git remote add <名前> “`

リポジトリ削除
“` git remote remove <名前> “`

元記事を表示

【Git】mergeとrebase

Gitでは、2つのブランチの履歴を統合する方法として `merge` と `rebase` の2つが用意されています。私自身、`rebase` についてよくわかっておらず、「どんな時でも merge!」派だった過去があるのですが、 `rebase` を理解できてからは `merge` と `rebase` を使い分けられるようになりました。
今日は、`merge` と `rebase`の違いについてまとめていきます。

#確認環境
– Mac
– git version 2.30.0

#前提
– 各コマンドの使い方やオプションについての説明はここでは省略させていただきます
– featureブランチにdevelopブランチを統合する、という操作をそれぞれのコマンドで実行していきます
– `git log` コマンドに使用しているオプションについてはこちら [git-log](https://git-scm.com/docs/git-log) からご確認ください

#merge
以下のような履歴を持つリポジトリを使います。

“`bash
% git log –graph –pr

元記事を表示

【Git初心者】基本コマンド集

# はじめに
Gitを使う上での基本的なコマンドを自分なりにまとめました。

最低限これらを知っていればGitを使うことができるので、初心者の方のチートシートになれば良いなと思います。

# コマンドまとめ
## ローカルリポジトリの新規作成
“`
git init
“`

## Gitリポジトリのコピーを作成
“`
git clone [リポジトリ名]
“`

## 全ての変更をステージに追加
“`
git add .
“`

## 変更を記録
“`
git commit .

git commit -m “[メッセージ]”
“`

## 現在の変更状況を確認
“`
git status
“`

## 変更履歴を確認
“`
git log

# 1行で表示
git log –oneline
“`

## リモートリポジトリ(GitHub)を新規追加
“`
git remote add [リモート名] [リモートURL]

# 例
git remote add origin [URL]
“`

## リモートリポジトリ(GitHub)へ送信
“`
git

元記事を表示

任意のgit commitへ一時的に巻き戻す。

備忘録です。
# git コマンド
“`
# ワーキングツリーとインデックスの内容を stash に一時保存する。
git stash
# コミットIDを探す。
git log

# 過去のコミットに戻る
git switch -d <コミットID>

# 過去に戻れたか確認:
git log –all –oneline
“`

# 使い道の例

– 他人のコードを読んでいるとき。最終的な成果物より、開発手法や過程を見たいと思う時がある。
– あるバージョンのコードをビルドしたいとき。
– 単純に前の状態へ戻したいとき。

元記事を表示

ローカルだけでgit管理

# はじめに

論文書くのにバージョン管理したくて、でもgithubとかにアップロードするのは何か間違えたら不安と思ってローカルだけでgitのバージョン管理する方法を調べた自分用備忘録です。

[こちら](https://creepfablic.site/2021/02/12/local-git/)をかなり参考にしていますというかこのサイトを見れば全部できます。

# 前提
– gitをインストール済み

# やること

リモートリポジトリになるフォルダを作ったうえで初期化コマンドを実行

“`terminal
> mkdir test.git
> cd test.git
> git init –bare –shared
“`

ローカル側のフォルダ(以下ではwork)でinit&リモートリポジトリの登録

“`terminal
> cd work
> git init
> git remote add origin “C:/Users/aaaa/bbb/test.git”
“`

あとはいつも通りのgitなので以下でpushできる

“`terminal
> git s

元記事を表示

【Git】プルリクエスト前に複数のコミットを1つにまとめてコミットログを読みやすくする

## はじめに
細かいコミットが大量にあったり、メモレベルのコミットがあったりすると、プルリクエスト時にコミットログが追いにくくなり、レビューアに負担がかかる場合があります。
rebaseコマンドを利用して複数のコミットログを1つにまとめる方法をご紹介します。

## 前提条件・環境情報
– Windows10
– 開発環境
– Visual Studio 2019
– .NET Framework 4.7
– C#
– [git本体](https://git-scm.com/)がインストール済みであること
– vimの基本操作(編集と保存)ができること

:::note info
git本体以外の環境は適宜読み換えてください。
gitコマンドを利用した方法となりますので、環境に依存しない普遍的な内容となっています。
:::

:::note warn
コミットをまとめる前の変更履歴がリモートリポジトリにPushされている場合、コンフリクトが発生します。
「git push -f origin 」で強制的に変更する必要があります。
記事最後の参考資

元記事を表示

Git、GitHubそれぞれで、リポジトリ作成時のデフォルトブランチを設定する方法

昨年より、GitHubで作成されたリポジトリのデフォルトブランチは `main` になりました。
[The default branch for newly-created repositories is now main](https://github.blog/changelog/2020-10-01-the-default-branch-for-newly-created-repositories-is-now-main/)

また、Gitプロジェクトとしても初期ブランチ名をmaster以外に変更する検討が進められています。
[Regarding Git and Branch Naming](https://sfconservancy.org/news/2020/jun/23/gitbranchname/)

(上記リンクはこちら、 [github/renaming](https://github.com/github/renaming/)から飛ぶことができます。)

現状、Gitではmasterブランチがデフォルトブランチとして自動的に作成されますが、バージョン[2.28](h

元記事を表示

【Git】ブランチ名を変更する方法(リモート・ローカル)

#対象者

* ローカルブランチ名を変更したい方

#目的

* ローカルブランチ名を変えてより他者にわかりやすいブランチ名に変更すること

#実際の手順と実例
###1.ローカルブランチ名の変更方法

下記コマンドで変更できます

“`
$ git branch -m <現在のブランチ名> <新しいブランチ名>
“`

これで変更できます。
作成後にこれでは分かりくい!と感じたときにおすすめです。

###2.リモートブランチ名の変更方法

““
$ git branch -m 古いブランチ名 新しいブランチ名
$ git push -u origin 現在のブランチ名
$ git push origin :リモートのブランチ名
““`

もしくは、GitHub上でも変更できます。

####投稿者コメント

なんだかブランチ名がわかりにくいと思って変更方法調べてみました。そもそも最初からわかりやすい名前付けていればよかったのですが、、、、、

####My Profile
プログラミング学習歴3ヶ月目のアカウントです!
プログラミングスクールで学んだ内容や自分が躓い

元記事を表示

GitHub 備忘禄

## ブランチ作成
ブランチは基本的にレポジトリのコピーで、元のファイルを触らずに新しいコードを書くなど、自由に変更や実験を試すことができる。
通常、親レポジトリは`master`ブランチと呼ばれ、トピックブランチ(短期間だけ使う一時的なブランチ)は`checkout`と`-b`フラグを使って作成する

“`bash
git checkout -b modify-master
#Switched to a new branch ‘modify-README
git branch
# master
# *modify-README
“`

## マージ
トピックブランチの変更を切り元のブランチにマージする

“`bash
# 元のブランチに切り替える
git checkout master
# 変更をマージする
git merge modify-README
# 変更をマージした後にトピックブランチを削除する
git branch -d modify-README
“`

`-D`オプションを指定した場合は、変更をマージしていなくてもブランチを削除してくれる
ブランチでミスをし

元記事を表示

【Mac初心者向け】M1 MacBookを買ったので、コピペだけでHomebrew・nvm(Node.js・npm)・Gitをインストールしてみた

皆さんこんにちは!

最近ReactやNext.jsなどのモダンなフレームワークを使って開発することが多くなり、これを機にMacBookをポチりました。

学生ということもあって学割で購入が出来、またオリコという名のカードローン使って分割手数料が0円で買えたので便利な世の中になったな~と感じました。

そこで、僕自身小さいころからWindowsに触れることも多く、MacBookでの環境構築を行ったことが無いため、同じ境遇の方の助けになればなと思いこの記事を書くことにしました。

WinodwsでもUbuntuを使っていたので、Linux環境にそこまで抵抗は無いのですが、恐らくこの記事を見る方はLinux環境を経験したことが無いという方もいると思うので、そういったところも考慮して分かりやすく解説していこうかなと思います。

# 注意事項

M1は環境構築が少しネックになっているという噂を聞くので、個人での環境によって予期せぬエラーが出る場合もありますので、その場合はご自身で調べて頂くか、コメント欄でご質問ください。

それでは、環境構築を行っていきましょう!!!!

# Homebrew

元記事を表示

gitのエラーUpdates were rejected because the remote contains work that you do not have locally. 〜the remote changes (e.g., ‘git pull …’) before pushing again.の解決法

前提

・現在ブランチAにいる。
・ブランチAでgit add、git commit -m”メッセージ”、git push origin ブランチAをした。
・git checkout masterをし、masterブランチでgit merge ブランチAをした。
・リモートのmasterブランチに反映させるために、masterブランチにいる状態でgit push origin masterをしたところ、次のように表示された。

hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., ‘git pull …’) before pushing again.
hint: Se

元記事を表示

Gitについて一日学び、用語をまとめてみた

#概要
Gitについての知識が皆無だったので、1日使って大枠を学んでみました。ここでは備忘録として用語を書き留めておきます。
##前提知識
`Ruby on Rails`
独学でRailsを勉強しています。Gitの知識はなく、エディターでのコードを管理していました。開発の日があくと、前回どこまでやったかわからないなど、無駄な労力を使っていました。プログラミングについてそれなりに学び、実際に何か作り始める前に、Gitを学んでおけばよかったと感じています。
#内容
Git特有の用語が多く訳がわからなくなることが多かったため、ここでは用語を備忘録としてまとめておきます。

|    用語     |                    意味                    |
|:———:|:————————————————————–|
|Git|バージョン管理システム。履歴を残すことができる。|
|リポジトリ|Gitのファイル保管場所。|
|ローカルリポジトリ|自分のPC上のリポジトリ。

元記事を表示

gitでcommitをまとめる

push済みcommitをまとめる方法

“`
# 直近3コミットをまとめる場合
git rebase -i HEAD~3

# (rebase画面)editor画面で直近1-2コミットを”squash”あるいは”s”にして上書き保存

# (commit画面)新しいコミットメッセージを入力して保存

# force push
git push -f origin master
“`

元記事を表示

git checkout ブランチをした際の Your branch is ahead ofの意味

git checkout task2-1をしたところ、次の様に表示されました。

Your branch is ahead of ‘origin/task2-1’ by 1 commit.
(use “git push” to publish your local commits)

意味としては、
リモートの task2-1 ブランチに対して、ローカルのtask2-1ブランチが1コミット進んでます。
“git push” 使って、あなたのローカルのコミットを公開してください。

と言われています。

初学者向けに「コミットが進んでいる」ということがどういうことかといいますと、コミットが1つ多い、と言う意味です。
(当てはまる言葉が見つからないので見つかりましたが追記します。)

したがって、指示にしたがっても良いのであれば従いましょう。

ローカルリポジトリの task2-1 ブランチのコミットを
リモートリポジトリの master ブランチに push すればOKです。

git push origin [ローカルブランチ]:[リモートブランチ]

の書き方になり

元記事を表示

git daemon を利用したローカルミラー

# git daemon を利用したローカルミラー

git daemon を利用してローカル (同一 LAN 内あるいは同一マシン内) にミラーサーバーを構築する。

git-daemon を提供する docker image があるのでそれを使用する。

https://hub.docker.com/r/sdelrio/git-daemon/

https://github.com/sdelrio/git-daemon

## git daemon の docker image の使い方

ドキュメントを見ると以下のように使うと記載がある。

“`
docker run –name git-daemon -d -p 9418:9418 -v $PWD/git:/git sdelrio/git-daemon
“`

https://github.com/sdelrio/git-daemon/blob/master/git-daemon.sh のソースコードを見ると以下コマンドを実行するとわかる。

“`
git daemon –verbose –enable=recei

元記事を表示

OTHERカテゴリの最新記事