今さら聞けないGit 2022年04月13日

今さら聞けないGit 2022年04月13日

git pushはgit push origin HEADが便利です

## はじめに
新人プログラマ応援イベントの参加記事です。

https://qiita.com/official-events/3f21c92121aa125807b4

表題の件、何番煎じか分かりませんが、割と知らない人も多かったので、
記事にしておこうと思います。

## 本題
カレントブランチを同名のリモートブランチにpushするときの便利な技です。
pushするとき、以下のようなコマンドを打つかと思います。

“`console
$ git push origin {カレントブランチ名}
“`

カレントブランチ名を毎回入力するのは面倒くさいので、

“`console
$ git push origin HEAD
“`

HEADを指定すれば楽です。

## 参考
https://git-scm.com/docs/git-push#:~:text=git%20push%20origin%20HEAD

元記事を表示

【Git】リポジトリの変更時に差分を入れたい

# 概要
長いこと使われていなかったプロジェクトに修正が必要になり、gitリポジトリの変更が必要だった。

# 試行錯誤した内容
`git init` や`git remote set-url origin {new_url}`を試したがうまくいかない

# 解決したコマンド
`rm -rf .git`
ローカルにある既存のgitリポジトリを削除した。
その後`git init`してadd してcommit, pushした。

元記事を表示

【Rails】cloneしてきたアプリケーションを動かす手順【GitHub】

## はじめに
学習を始めて間もないです。
間違っていること等ございましたらお知らせください!
気をつけていますが特に用語の使い方が正しくない可能性があります。

一つ前の記事でcloneしてきたアプリ(jQuery導入済み)を、
自分の環境ではきちんと動作するまでこんな手順をふんでいますという紹介です。
(出てきたエラー内容やターミナルの指示に従っているだけなので大したことはしてません)

## 対象の方
cloneしてrails sしたらエラーが出てわからない!って方

jQueryが正常に動いてたアプリをcloneしたけど新しくcloneした方はなんだかちゃんと動かないって方向け

これはかなり限定的かと思われます!
(途中まではjQuery関係ないはず…)

## 環境
Rails: 6.1.5
Ruby: 2.6.3
Git: 2.32.0
ローカル環境: cloud9

## 簡単に手順
1. rails db:migrate
2. webpacker:install
3. webpacker:compile
4. jQuery使えるように文言足す
4. rails s
4

元記事を表示

【Git】【GitHub】コミット履歴を引き継がずgit cloneする方法 後半無駄に丁寧に解説しています

## はじめに
学習を始めたばかりです。
気をつけていますが用語などもちょこちょこ間違っているかもしれません。
色々間違ったこと等ございましたらぜひ教えて下さい!

あと、もしかしたらもっとシンプルな方法があるのでは?と思っています。
今回のやり方はものすごく遠回りをしているかもしれません。

ただ、たくさんコミット履歴を持ってるリポジトリのcloneに時間がかからない方法だそうです!◆理由は後述します。
(今の所私にそんな機会は全くありませんが笑)

### こちらのサイトをとても参考にさせいただきました!!!
[Gitで別のRepositoryにpushするときに今までのcommit履歴を残さない方法
](https://www.greptips.com/posts/1270/)

後日、自分がこの手順でRailsアプリをcloneした後に行っている手順もせっかくなので書きます。
(cloneしたアプリによって手順は変わると思いますし、そもそも大したことはしてません!webpacker:installとか基本的なやつです)
追記:[書きました!](https://qiita

元記事を表示

Gitリポジトリに誰がコミットしているか調べる

過去に誰がどれくらいコミットしているか確認

“`
$ git shortlog -sne
“`

元記事を表示

GitとGitHubについて ~リモートレポジトリにプッシュするまで(GitHubに表示させるまで)~

# 目次
[0. 概要](#概要)
[1. Gitについて](#Gitとは)
[2. GitHubについて](#GitHubとは)
[3. コマンド集](#CLI上でのコマンド集)
[4. 参考文献](#参考にしたもの)

# 概要
今回は、Gitを使用して、レポジトリを登録して、test.txt(何でもOK)をリモートレポジトリにプッシュする方法を記事にしました。

# Gitとは
Gitとはソースコードのバージョンを管理するツールのこと。
インターネット上で管理するのでいつ、誰が、どこを変更したのかわかる。

# GitHubとは
Gitを利用した開発者を支援するツールのこと。
いわば、プログラムを管理するSNSツールのようなもの。
その後も、履歴を残しながら更新したり、自分以外のエンジニアも修正を加えることが可能。

# CLI上での一連の動作
### ローカルリポジトリの作成
“`
$ git init (ローカルレポジトリの作成)
Initialized empty Git repository in /User/ユーザー名/自分の作ったディレクトリ名など/.git/

元記事を表示

【メモ】はじめてgit initする前にやっておくべきこと

# 環境
* macOS Monterey 12.1 (M1チップ)
* git version 2.35.1

# 現象
gitコマンドをはじめて利用し、試しに何も考えず
git initしてみたところ、下記のエラーが表示された。

“`
hint: Using ‘master’ as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config –global init.defaultBranch
hint:
hint: Names commonly chosen instead of ‘master’ are ‘main’, ‘trunk’ and
hin

元記事を表示

SVN から GitHub への移行手順

# はじめに
今さらながら SVN で管理されているソースコードを GitHub へ移行することがあったので手順を備忘録的に記載しておきます。
細かいことは置いといて、とにかく移行したい人向けです。

# 目次
1. [作業環境](#作業環境)
1. [手順](#手順)

# 作業環境
– macOS Big Sur 11.6.3
– Homebrew 3.4.6

# 手順

1. git-svn のインストール

“`sh
% brew install git-svn
“`
“`sh
% git-svn –version
git-svn version 2.35.1 (svn 1.14.1)
“`

– [macOS Catalina 10.15](https://developer.apple.com/documentation/macos-release-notes/macos-catalina-10_15-release-notes) から SVN 関連のコマンドが非推奨になったので必要
– す

元記事を表示

git運用、developのオリジンをひっぱってくる

# gitのブランチの基本運用
develop → featureで作業して
feature → develop → main

developからfeatureブランチを切るときはリモートのorigin/developから切る。
mainからdevelopにcheckoutするときに最新のdevelopをひっぱってくるコマンド
`git checkout -f develop origin/develop`

元記事を表示

ディレクトリ名の大文字/小文字を変更してもGitに反映されない件

## ディレクトリ名の大文字/小文字を変更してもGitに反映されない件
すでにgitに上げたディレクトリ名を変更したい場合、ローカルのディレクトリの文字を変更してもgitの差分に反映しません。
(※Gitはデフォルトでファイル名の大文字・小文字の変更は検知しない設定とのこと)

なので、、
“`terminal
git config core.ignorecase false
“`
これでGitの設定を変えて[case sensitive]にしておく、これによって変更差分がgit addされるが、そのままpushして、gitのリポジトリをみてみると

> 修正前のディレクトリ:atoms/Input/index.tsx

が消えずに残ったまま、、、

> 修正後のディレクトリ:atoms/input/index.tsx
>
が追加されており、修正前、修正後の分がそれぞれできた状態になっています。
キャッシュか?
と疑い、、

“`terminal
git rm -r –cached .
“`

これでキャッシュをクリアして、(膨大な量のキャッシュクリア分がgit addされ

元記事を表示

Gitコマンド

# add
コミット対象ファイルをインデックスに登録するためのコマンドです。
– ファイル
`git add [file1] [file2] …`

– フォルダ
`git add [dir]`
– 現在フォルダ
`git add .`

# branch
– 新規作成
`git branch `
1. 新規と追跡(トラッキングブランチ)
– `git branch development origin∕development`
2. 追跡設定(トラッキングブランチ)
– `git branch -u origin∕development development`
– `git branch –track development origin∕development`
– 削除
– `git branch -D develop`
– 変更
– `git branch -m `
– 確認
1. 全て
`git branch -a`
2. local

元記事を表示

Gitの基礎とよく使うコマンド

# はじめに
開発現場でよく使われるツールGitについて基礎とよく使うコマンドについてまとめました。
初学者向けの内容です。

# Gitの概要
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2309433/eeaa5bb7-fd73-50f2-297d-298630a8dae9.png)

### リポジトリ
Gitの管理下にあるファイルやディレクトリ(フォルダ)の変更履歴を保管する箱のようなもの。

### ローカルリポジトリ
自分のPC上(ローカル環境)に置くリポジトリのこと。

### リモートリポジトリ
外部サーバー上に置くリポジトリのこと。
リモートリポジトリは、直接変更修正することはなく、ローカルリポジトリの変更修正を同期して更新されていく。

### ブランチ
リポジトリで管理しているファイルやディレクトリの変更の流れのこと。commitの連なり。
ブランチは、分岐させることができる。
開発では、基本的にブランチを分岐させる。分岐させることを**ブランチを切る**と言

元記事を表示

Gitを使ってやらかした時、git reflogさえ使えればわりかしなんとかなる

## これは何
新人プログラマ応援イベントの参加記事です。

https://qiita.com/official-events/3f21c92121aa125807b4

gitにはreflogというコマンドがあります。このコマンドを学んでおくとやらかしちゃった時も大体なんとかなるので記事にします。

## git reflogってなに?
`git reflog`とは、Gitで操作履歴を見ることができるコマンドです。
例えば

– `branch1`にチェックアウト
– `branch1`で`branch1.txt`を作成し、コミットを作る
– `master`にチェックアウト

をすると、以下のようなreflogになります。

“`sh
$ git reflog
4a4125a (HEAD -> master) HEAD@{0}: checkout: moving from branch1 to master
826a9dc (branch1) HEAD@{1}: commit: Create branch1.txt
4a4125a (HEAD -> master) HEAD@

元記事を表示

GitとGithubの違いすら分からなかったときに読んだ記事たち

初めてGitを触り、ドキュメントを読んでもGitとGithubで操作の違いがわからず、色んな概念でこんがらがったので、投稿したいと思います。
私が記事を出すまでもなく、非常に丁寧にまとまっているサイトやウェブページが多いのでこれらを紹介したいと思います。
参考になったページはこれらです。
## mainブランチについて ##
Githubではデフォルトのブランチが変更されていたために混乱していました。
特に、初心者の方は記事に沿って動かしていくので、本当はデフォルトがmainブランチであるのに、少し前の記事ではmasterブランチを作るようにガイドされていました。
main? master?なんだそれとなってしまいかねないために参考までにどうぞ。

[Githubのデフォルトブランチがmainであることに気付かず、ローカルのブランチをmasterのままpushし、エラーが出たときの対処法](https://qiita.com/wa-ma/items/094b75a482e4a1bf0a01)
## Gitのフロー ##
ドキュメントを読んでいても、merge、addとかブランチとかfo

元記事を表示

Azure Pipelineで同じ組織の別リポジトリがcheckoutできない(Git fetch failed with exit code 128)

### またもやドキュメントで躓く…
こういうのはどこに意見送ったら良いんだろうか。ほんとに公式ドキュメントがわかりにくい…
書いてはいるんだけどね…

## やろうとしていたこと
メインプロジェクト(ASPなど)とライブラリ系を分けて別リポジトリで管理、ビルド時に引っ張ってきてもらう。
まぁよくあるような構成

## よくあるやり方
https://docs.microsoft.com/ja-jp/azure/devops/pipelines/repos/multi-repo-checkout?view=azure-devops
こういう感じですね。
けどうまくいきませんでした。
何度やっても別リポジトリのCheckoutが失敗する…

“`
remote: TF401019: The Git repository with name or identifier samplelib does not exist or you do not have permissions for the operation you are attempting.
fatal: repositor

元記事を表示

Git関連まとめ

# Gitの基本操作
1.Gitの初期設定
2.ローカルリポジトリを作成
3.ローカルリポジトリへコミット
4.リモートリポジトリにプッシュする(反映させる)

## 1.Gitの初期設定
“`
$ git config –global user.name “ユーザー名”
$ git config –global user.email “メールアドレス@xxx.com”
“`

## 2.ローカルリポジトリを作成
前提)GitHubでリモートリポジトリを作成
任意のディレクトリを作成
上記ディレクトリをリポジトリとして初期化する
“`
$ git init 
“`

## 3.ローカルリポジトリへコミット
“`
git add . //インデックスへファイルを追加
git commit -m “コミットメッセージ”
“`

## 4.リモートリポジトリにプッシュする(反映させる)
前提)ローカルリポジトリとリモートリポジトリを紐づけする(ローカルリポジトリ配下)
“`
git remote add origin https://github.com/ユー

元記事を表示

git で一番危険なコマンドは init ?

# 言いたいこと

“`

$ git init hoge
$ cd hoge
“`

“`

$ mkdir hoge
$ cd hoge
$ git init
“`

# どんな方に見て欲しいか

– 初心者に git を教えている方。
– `git status` を実行したときに何十行も赤い文字が出た方。
![スクリーンショット 2022-04-06 11.37.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488916/7ec7900c-3e0e-8d28-5e97-23356513a06a.png)
– `ls -a ~ | grep .git` を実行したときに `.git` が出力された方。
“`
$ ls -a ~ | grep .git
.git <- これ .gitconfig .gitignore-boilerplates ``` - (ターミナル操作と git の初心者の方。) # 背景 後輩に「この git 教材を最初から最後までやってみて?」と伝

元記事を表示

あとから.gitigoreに追跡対象外を追加したい

## .gitignoreに記載しても追跡対象外にならない

.gitignoreに記載しても、全然追跡対象外になってくれなくて困ったことがあったのでメモ。

どうやらすでに git add で追跡しているものは、あとから.gitigoreに記載しても反映されないみたい…

なので、
・ まずは対象のファイルをGitの追跡から外す
・ .gitigoreファイルへ記載
という手順が必要だったようです。

### Gitの追跡対象から除外
“`
# 特定のファイルだけ
git rm –cached ファイル名

# フォルダごと
git rm -r –cached フォルダ名
“`
これをしたあとに、.gitignoreに記載をしたら、無事に追跡対象外になりました!

※ “–cached“ をつけないと、ファイルそのものが削除されてしまうので注意!

参考にさせていただいた記事
https://www-creators.com/archives/1662#gitignore-2

### その他メモ
.gitignoreで対象外になっているものを確認する方法
“`
gi

元記事を表示

Windows10でGitHubを始める~⑦GitHubへのPullRequest

個人学習メモ。

# プルリクをするまでの手順
1. リモートリポジトリをローカルにcloneする
1. ローカルリポジトリでブランチを作成し、ブランチを切り替える
1. 切り替えたブランチで編集作業を実施し、リモートリポジトリに変更をpushする
1. GitHub上でPullRequestする
1. GitHub上でMergeする
1. リモートリポジトリの不要ブランチ削除
1. ローカルリポジトリの不要ブランチ削除

# 1.リモートリポジトリをローカルにcloneする
GitHub上のリモートリポジトリを手元のローカルリポジトリとして複製(clone)する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1723719/87aac287-0ac3-0028-7381-d960ec4fd40b.png)

コピーしたいリポジトリ(今回は`qiita-test`)のページにブラウザでアクセスし、URLを[code]からコピーする。
※私はGCMで認証済みなので今回はHTTPSのURL

元記事を表示

SHA1ハッシュを使ったRSA署名が使えなくなったとさ

# なんの記事
– 久しぶりに新しいプロジェクトを作成し、リモートレポを作成しようとしたところ、以下のXcodeがエラーを吐いた。

# エラー内容
– `エラー内容:You’re using an RSA key with SHA-1, which is no longer allowed. Please use a newer client or a different key type.`

# 原因
– [2021年9月26日、OpenSSH 8.8がリリースされSHA-1ハッシュアルゴリズムを使用したRSA署名の廃止された](https://nulab.com/ja/blog/backlog/disables-rsa-sig-using-the-sha-1-in-openssh/)
– これを受け、Githubでも、

元記事を表示

OTHERカテゴリの最新記事