今さら聞けないGit 2022年07月20日

今さら聞けないGit 2022年07月20日

git pullしたらCould not resolve host: gitlab.com; Unknown error

朝起きていつもどおりgit pull origin masterしたところ
“`
fatal: unable to access ‘https://gitlab.com/プロジェクトURL/’:
Could not resolve host: gitlab.com; Unknown error
“`
できません!

sudo git pull origin masterも同じくエラーです。。
SSH鍵再設定したりも無駄で、逆にSSH鍵外したり。
仮想サーバー関連じゃないかなとアドバイスありまして、、
“`
sudo vi /etc/resolv.conf
“`
で中身チェック
“`
# Generated by NetworkManager
nameserver 10.0.2.3
~
~
~
~
“`
インサートモードにして
nameserver 8.8.8.8を追加。
nameserver 8.8.8.4も一応…
“`
# Generated by NetworkManager
nameserver 10.0.2.3
nameserver 8.8.8.8
name

元記事を表示

1つのマシンで複数のGithubアカウントを使う方法

# はじめに
わたしはプライベートで持っているPCの性能が低いので、個人的に開発を勉強するときも会社のPCを使っています。
ですが、githubのアカウントは会社用と個人用で使い分けたいよなーと思い、方法を調べました。

# アカウントを使い分ける方法
全部で6ステップに分けて紹介します。

## 1. githubでアカウント・リポジトリを作る
兎にも角にもアカウントがなければ始まりませんので、[github](https://github.com/)で個人用のアカウントを作ります。
会社用のアカウントや、個人の第一アカウントがない方は、必要に応じてそちらも作ってください。

アカウントを作ったら、手動でリポジトリも作ってしまってください。
右上のアカウントメニュー → Your repositories → Newボタン から作ることができます。
![スクリーンショット 2022-07-19 10.33.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/605286/5cbf3e5e-fb67-

元記事を表示

HerokuでWeb名(app名)変更時の再push方法

Node.jsの初心者です。

herokuでapp名を変更するとgitリポジトリが変更になります。
この時、ローカルリポジトリは更新されていないため
変更したリモートリポジトリにpushできなくなりはまりました。
検索しても載っていなかったためこの時の解決手順を書こうと思います。

1. ローカル環境の.gitフォルダを削除する
1. git bashを起動しローカルのappフォルダに移動
1. git init g初期化
1. git add . ステージングエリアに追加
1. git commit -m “リポジトリ変更対応” コミットする
1. heroku git:remote -a **新アプリ名** 新リモートリポジトリを設定
1. git push **-f** heroku master リモートリポジトリを強制的に上書き

要は最初からgitを作り直して
変更先にリモートリポジトリに強制的に上書きをするという方法です。

commitを戻したりしていてハマってしまった場合の一から作り直す手順になります。

元記事を表示

Git pushが失敗する(SourceTree)

SourceTreeを使ってpushしようとしたら下記エラーになった。

“`
git -c diff.mnemonicprefix=false -c core.quotepath=false –no-optional-locks push -v –tags yLineGame master:master
Logon failed, use ctrl+c to cancel basic credential prompt.
Pushing to https://github.com/cicular/yLineGame.git
エラー終了しました。エラーの内容は上記をご覧ください。

“`

ローカルへのコミットは成功するが、プッシュができない。
**つい1時間半前まではできていたのに。。**

上記エラーメッセージとともに認証を求めるポップアップが表示されて、正しいログイン情報を入力しているのにダメ。何回やっても変わらない。

SourceTreeで「ツール」->「オプション」->「認証」を確認しても、しっかりアカウント情報は登録されている。

# 対応

Gitのバージョンが

元記事を表示

【GitHub】【Mac】git pushでつまづいたところまとめ

# はじめに
Visual Studio CodeでGitHubにpushした時に、下記のエラーが発生した。
“`言語名:ターミナル
git push -u origin master
fatal: cannot run /private/var/folders/35/363l43cj7sl60j9xw34_rbdw0000gn/T/AppTranslocation/DF6474BE-4462-425E-BADD-011ACAF41F89/d/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh: No such file or directory
“`
これを解決するために色々行なったことを以下に記していく。
途中、ssh-agentなど今回の問題とは関係のないものも出てくるが、ついでに書き留めておく。

# SSH確認とSSH追加方法を公式で確認する。
まず、下記のリンクからGitHubのSSHキーが

元記事を表示

Laravel のメインブランチの中に存在している “wip” コミットを洗い出してみた

# 背景

Laravel には,

**「コミットメッセージ書くのめんどくせぇ!全部 `wip` でいいわ」**

という信仰に従って(?),メインブランチにも堂々と `wip` とだけ書かれたコミットがプッシュされています。これを揶揄するかのようにファングッズまで作られる状態です。下記に関しては Taylor 氏公認の模様。お行儀よくコミットメッセージを書いている古くからのオープンソースプロジェクト参加者が発狂しそうな実態ですね

https://laravelelite.gumroad.com/l/wipcrack

ところで,フォロワーの過去の呟きを今更ながら掘り返してしまいました。せっかくなので,いったいどれだけの `wip` が存在するのか,統計をとって調べてみました。

# 調査1: `laravel/framework`

元記事を表示

bashにgitのブランチ名を表示

.bashrc
以下2行追記(Ubuntu)
“`
GIT_PS1_SHOWDIRTYSTATE=true
export PS1=’\[\033[01;32m\]\u@\h\[\033[01;33m\] \w \[\033[01;31m\]$(__git_ps1 “(%s)”) \n\[\033[01;34m\]\$\[\033[00m\] ‘
“`

元記事を表示

gitにコミットしたらJenkinsのジョブが起動するようにする

# やりたいこと

gitにコミットしたらJenkinsのジョブが起動するようにしたい。

# 手順

### 諸々コンテナを準備

https://qiita.com/ryot0/items/0990489fd0d27f43667a

### JenkinsでAPIトークンを発行

ユーザアイコン → 設定 → APIトークン

### Jenkinsでリモートトリガーを設定

ジョブ → 設定 → リモートトリガー → 認証トークン

### gitリポジトリのupdateフックを設定

“`shell:xxx.git/hook/update
#!/bin/sh

refname=”$1″
oldrev=”$2″
newrev=”$3″

case “$refname” in
refs/heads/master)
curl -X POST –user “認証ID:APIトークン” http://picobuildcont01:8080/job/pico-playground-master/build?TOKEN=認証トークン

元記事を表示

git stash周りで困ったこと

# git stash周りで起きた問題の対処と理由

### 今回起こった問題
個人でgitを使って開発をしていた時に起こった問題。
デフォルトのブランチを、masterブランチからmainブランチに変えたかった。そのために行ったこととしては、

作業をしていたmasterブランチでgit stash -u(変更内容を退避)

git checkout main(mainブランチに移動)

mainブランチでgit stash apply 0(変更内容を復元)

大量にエラーが出て、それが何故か分からなくて困った

### なぜ起こったか
![スクリーンショット 2022-07-16 12.25.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2648402/9e472669-2580-34ec-109b-d8a5e8c26575.png)

### どうやって解決したか
それぞれの変更やコンフリクトを解消して変更点をなくす

git checkout master(masterブランチに

元記事を表示

RaspberryPiOSの動くDockerコンテナにgitサーバーを構築する

# やりたいこと

Dockerコンテナにgitサーバーを構築する。

まずは、RaspberryPiOSイメージを作る。

https://qiita.com/ryot0/items/3b40a0e5f227d97b7d3b

# 手順

### 1.構築用のコンテナを作る

“`shell
docker create –name sshgitbuild01 -it raspios:0.0.1 /bin/bash
docker start sshgitbuild01
docker exec -it sshgitbuild01 /bin/bash
“`

### 2.コンテナに入ってgit用のディレクトリを作る

“`shell
mkdir /data
mkdir /data/app
“`

### 3.コンテナに入ってgitをインストールする

“`shell
apt update
apt install git
“`

### 4.コンテナに入ってsshdが動くように設定

“`shell
ssh-keygen -A
mkdir /run/sshd
chmod

元記事を表示

ステージしたものをないことにする

# ステージの内容をHEADに合わせる。
直前のコミット以降の修正を全て捨てる方法だ。
作業ツリーの内容が前の状態に上書きされる。

## “`git reset“` 
* HEADを履歴の中で移動させるコマンド
* ステージや作業ツリーの内容をHEADに合わせる。

## “`git reset –ファイル“`
オプション引数のファイル名を指定するとそのファイルだけHEADの状態に戻す。

## “` git reset –hard “`
作業ツリーの内容もHEADの状態に戻す。

# 演習
hello.txtを修正してステージし、その後で、“`git reset –hard“`すると、ステージと作業ツリーが元の状態に戻ることを確認しよう。
“`git diff“`を使うといい。

## 気づき
この操作をすると、コミット前の修正を全て捨てることになるのでステージされる。
### “`git diff“`
* ファイルの間の差を表示する。
* 作業ツリーとステージの差を出力する。

## 演習を解く
“`hello.txt
Hello!
I am a

元記事を表示

不要なファイルがgitの管理下に置かれていたので削除した。

## 前提
新しいプロジェクトに参加した際に管理する必要のないファイルがgitの管理下に置かれていたので削除した。

## gitignoreを作成

今後の変更がgitに監視されないようにgitignoreに管理下から外したいファイルを記述します。

これで次回以降の変更が監視されなくなります。

gitignoreの作成には次のサイトが便利。

[gitignore.io](https://www.toptal.com/developers/gitignore)

## 履歴を削除する

これまでの履歴も必要がないので削除します。

“`
git rm –cached [ファイル名]
“`

## 参考文献

https://zenn.dev/wtkn25/articles/django-gitignore

https://qiita.com/megu_ma/items/a438a71c84145f14d04e

元記事を表示

3種類のgit resetについて (自分用)

https://www.r-staffing.co.jp/engineer/entry/20191129_1

元記事を表示

リポジトリのルートディレクトリにcdしやすくした

addしてcommitしてpushするためにリポジトリのルートディレクトリに戻らなきゃならないときに、何回も
“`shell
cd ../
“`
したり
もしくは今いるリポジトリをどこに置いていたかを思い出して
“`shell
cd ~/hoge-repository
“`
したりするのが面倒くさくなって調べてみたら
“`shell
git rev-parse –show-toplevel
“`
でリポジトリのルートディレクトリが取得できることがわかった
ので、
“`shell
git config –global alias.root ‘rev-parse –show-toplevel’
“`
して
“`shell
git root
“`
でルートディレクトリを取得できるようした
これで
“`shell
cd $(git root)
“`
だけでリポジトリのルートディレクトリに戻れるようになった
快適!

元記事を表示

Rails CRUD処理実装のアプリを立ち上げ~Git hub管理まで

アプリを作成する度に未だに毎回検索しているのでここの復習も兼ねてまとめます。
プログラミング初心者向けの記事となります。

# 開発環境
– `Rails`
– `Ruby`
– `git`
– `Git hub`
# 手順
– `Rails`でアプリ作成
– `git`で`ローカルリポジトリ`を作成
– `Git hub`で`リモートリポジトリ`を作成
– `ローカルリポジトリ`に`リモートリポジトリ`を追加する
# まずはRailsでアプリを作成
“`:ターミナル
rails _6.1.6_ new アプリ名 -d postgresql -T
cd アプリ名                                                                     
rails db:create
“`
### コマンドの解説
__Q:なぜ`Rails`のバージョンは`6系`指定?__
A:最新の`Rails`のバージョン`7`はまだ出たばかりで不具合などあり,変更点も多々あるため`6系`最新バージョンを指定しています。

__

元記事を表示

gitのデフォルトエディタを指定する

gitのデフォルトエディタは`nano`になっています。
revert等のコマンドを実行したとき、コメント編集のためにエディタが立ち上がりますが、その際に慌てふためかないために。

vimに慣れているなら以下のコマンド。
“`
git config –global core.editor “vim”
“`

元記事を表示

git root directoryにcdするalias

以下の行を`.bashrc`か`.zshrc`に追加する。

“`zsh
alias cdr=’cd $(git rev-parse –show-toplevel)’
“`

`cdr`する。

元記事を表示

Gitについて

# はじめに
自身の、成長、アウトプット目的、学んだことの備忘録として記事を書いていく。

# そもそもGitって何?
ファイルのバージョン管理するためのもの
例えば、複数人でファイルをバージョンを管理していない状態で管理していた場合、間違って修正したファイルを上書きしてしまう恐れがある。
それに対して、ファイルをバージョン管理した状態で管理していると、誰が何を修正したかがわかり、間違って修正してしまう恐れがなくなる。
それに加え、誤って上書きしてしまったとしても、バージョン管理なので、以前のバージョンにも戻せる。

# Gitの仕組み
Gitは差分保存ではなくスナップショットでデータを保存している。
スナップショットとは、データと同じ部分を抜き取って取り出すこと。

元記事を表示

git configでユーザー名切り替えてpushする

できれば、gitは単一ユーザーであった方が良いのですが、複数人でマシンやむなく使うとか、会社から貸与されているマシンでprivateなgitHubに勉強がてらソースコードを・・
とかって、分けたい時がありますよね。(本来は良くないと思うけど)

そんな時のためのメモ。

# git configの使い方

“`
git config –list
“`
とすると、user名、submodule設定などそのcloneしたフォルダの設定が色々みれます。
ユーザー名を切り替えるということは、フォルダごとに設定を変えれば良い。
configの設定には、

– global
– local
– system

があります。今回やるのはlocal

“`
git config –local user.name bluelemmon
git config –local user.email none
“`
のような感じ。これで、cloneしてきたフォルダごとに設定を変えられます。
もう一度、git config –listをして確認
“`
user.name=bluelemmon
u

元記事を表示

フェッチとプルの違い

# 概要図

![Github仕組みのコピー2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790379/79db5cf6-1383-a7f9-6e71-f947ad1ea5a5.jpeg)

# フェッチ

リモートリポジトリからローカルリポジトリに情報を落とすこと(この場合、ワークツリーには反映されない)。
その後、マージをすることでワークツリーに反映をすることができる。

しかし、ローカルリポジトリのmasterブランチではなく、origin/masterブランチに情報が取り込まれるため、マージをしたい場合は、”git merge origin/master”となる。

### コマンド

“`
$ git fetch <リモート名> <ブランチ名> (リモートからローカルへ)
(例: git fetch origin master)

$ git merge orgin/master (ワークツリーに反映)
“`

# プル
リモートリポジトリから情報を取得して、マージま

元記事を表示

OTHERカテゴリの最新記事