- 投稿日:2020-10-10T22:15:37+09:00
[Linux便利コマンド] deltaを入れてみる
環境
概要
diffをしたいと思ったときにデフォルトのものだと色もつかないし表示が見にくかった。
調べたところcolordiffなるものがあることが分かりました。
https://qiita.com/trapple/items/6657b903bf027464e70dこれだけでもよさそうでしたが、deltaというrust製のものを使用すればさらに見やすくできそうだったのでこちらを検討してみました。
https://wonderwall.hatenablog.com/entry/rust-deltadeltaインストール
ダウンロード $ wget https://github.com/dandavison/delta/releases/download/0.4.1/delta-0.4.1-x86_64-unknown-linux-musl.tar.gz $ tar -zxvf delta-0.4.1-x86_64-unknown-linux-musl.tar.gz $ cd delta-0.4.1-x86_64-unknown-linux-muslすでにbinファイルがあるためこれを移動すればよいだけでした
$ mv ./delta /usr/local/bindeltaの設定
.gitconfig[core] pager = delta [interactive] diffFilter = delta --color-onlyこれにてgit diffをした際にdeltaが反映されるようになりました
設定を諸々調整
.gitconfig[delta] diff-so-fancy=true keep-plus-minus-markers=true minus-emph-style="bold 94 89" plus-emph-style="bold 29 29" hunk-header-style="omit" line-numbers=true結果
git diffの見た目
通常のdiffの見た目
gitではない場合のdiffもdeltaコマンドで置き換えることができるためこれで見やすくなりました
- 投稿日:2020-10-10T21:57:17+09:00
ubuntu20.04/debian10+apacheでgitサーバ(smart http)
何か下書き一覧に「3 month ago」とか書かれていた(笑)
せっかく書いたのだから放置しておくのもなんですし、もう20.10も出る頃ですので、その前に公開しておきましょう。前回(?)の続きです。
まぁ、自分が使うのは主にFreeBSDか、ubuntuかdebianなんで、この際ubuntu/debianでも試してみようかと。
環境
- VirtualBox on ubuntu20.04
- ubuntu server 20.04
前回と同様、インストールしてネットワークが接続てきているところまで設定し終わっている事を前提とします。
設定
sudo apt install apache2 gitなんかgitは最初から入っていたようなのだけど、気の所為かもしれないので念の為。
ubuntuの場合、「
/etc/apache2/sites-available
」ディレクトリ以下にホストの設定を書くのが流儀みたいなので、デフォルトの設定をコピーして設定します。sudo cp -v /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-myhost.confコピーした後、編集。
<VirtualHost *:80> # もともと書かれてあったものは、そのまま。 SetEnv GIT_PROJECT_ROOT /var/www/git SetEnv GIT_HTTP_EXPORT_ALL ScriptAlias /git /usr/lib/git-core/git-http-backend <Location /git> AuthName "Git Repository" AuthType Basic AuthUserFile /etc/apache2/git.passwd Require valid-user </Location> </VirtualHost>パスワードファイルを作成します。
sudo htpasswd -c /etc/apache2/git.passwd katsukoCGIモジュールと、先のホスト設定ファイルを有効にします。
(デフォルト設定のホストファイルを無効にします)sudo a2enmod cgi sudo a2dissite 000-default sudo a2ensite 000-myhostレポジトリの作成。
sudo mkdir -p /var/www/git sudo git init --bare --shared /var/www/git/project.git cd /var/www/git/project.git sudo git update-server-info sudo chown -R www-data:www-data .サーバの再起動。
sudo systemctl restart apache2
Debian 10 (Buster)の場合
上と一緒。
いや手抜きじゃなくて。
まぁ、debianの場合rootで作業するので、その場合は「sudo
」は要らない、という点ぐらいは察してください。
- 投稿日:2020-10-10T21:24:50+09:00
特定の既存ブランチに切り替える
- 投稿日:2020-10-10T21:24:21+09:00
Git developブランチにマージされたlocalブランチを削除する
コマンド
$ git branch -r --merged develop | grep "ブランチ名" | cut -d "/" -f2- | xargs -t -I{} git push --delete origin {}
git branch -r --merged develop
- developブランチにマージされたリモートブランチ表示
| grep "ブランチ名"
- 特定のブランチ名で検索
| cut -d "/" -f2-
- 最初に出現するスラッシュまでの文字列を除外
| xargs -t -I{} git push --delete origin {}
- 洗い出したブランチを削除する
- 投稿日:2020-10-10T20:42:42+09:00
Git fetchとpullの違い
どちらも「リモートからローカルリポジトリの内容を更新する」という操作なのですが、少し違いがあるので、そこを解説します。
ざっくりとまとめ
fetch・・・リモートと通信を行い、更新された内容をローカルリポジトリに取り込む。(ローカルのソースファイル自体はまだ更新されない)
pull・・・上記のfetchとmergeというコマンドを連続して実行し、リモートの更新内容をローカルのソースファイルに反映させる。ざっくりしすぎたかも。。ここから少し詳しく書いていきます。
fetchって何?
まずはfetchの解説、の前に、簡単に「3種類のブランチ」の説明をしておきます。
Gitの仕組みの根幹の部分に関するものであり、複数人(複数環境)でリポジトリを共有するチーム開発においては、必ずかかわっていかなければならないものです。
fetchコマンドもこの概念と密にかかわっています。この概念を簡単にでも理解しておくと、fetchコマンドの理解が早くなると思います。Gitの3種類のブランチ
①リモートブランチ
②ローカルブランチ
③リモート追跡ブランチ(リモートトラッキングブランチ)①のリモートブランチは、その名の通りリモート環境上に存在するブランチです。
リモートで全員がアクセスできる共有のブランチであり、最終的な成果物となりうるブランチです。協力してキレイに保ちましょう。②のローカルブランチは、その名の通りローカル環境上に存在するブランチです。
ソースを新規作成したり修正したりして、その内容をコミットしているのは、ローカルブランチ上での作業になります。①と②はそのままの意味なので、あまり理解に苦しむことはないと思います。ですが、③は少し特殊な役割になるので、丁寧に解説します。
③のリモート追跡ブランチは、「ローカルリポジトリ上で①のリモートブランチの内容のコピーをし続けるブランチ」です。
コピーをし続ける、変更内容を追いかける、から「追跡」ブランチと名付けられています。
Git系の記事とかでたまに見かけるorigin/masterという形式で記載されたブランチ名は、リモート追跡ブランチ名を指しています。
役割としては、①リモートブランチの情報をローカルのリポジトリに引き込む際の受け皿、①と②の橋渡し役みたいなものです。
また、この③追跡ブランチのソースの内容を直接編集してコミット、なんてことはできません。では、この③追跡ブランチが更新されるシチュエーションはというと、「fetch」と「push」のどちらかのコマンドが実行されたときのみとなります。(ブランチの作成、削除は更新には含めていません)
リモート側から情報を更新するのがfetch、ローカル側から情報を更新するのがpushです。はぁ、、、やっとfetch出てきた。。。
つまりfetchとは
⇒①リモートブランチからローカルリポジトリの③リモート追跡ブランチに情報を送って更新をかけること
となります。ここで大事なのは、更新されるのは③追跡ブランチであって、②ローカルブランチではない、ということです。
PC上のソースファイルたちは、②のローカルブランチに紐づいているものなので、fetchだけではソースファイル自体は更新されない、ということになります。
ソースファイルに更新を反映させるためには、②のローカルブランチに③のリモート追跡ブランチを「merge」する必要があります。※fetchとpull、二つのコマンドの概念を説明する上で、「merge」というコマンドからは逃げられないのですが、この記事ではmergeに関する詳細な解説は省きます。
(mergeだけで3時間語れるくらい深い深い。。。)
この記事を読むうえでは、「2つのブランチの内容を統合するコマンド」くらいのイメージで十分です。これで、リモートの更新を、PC上のソースファイルにまで反映することができました。
コマンドで表すとこの2行分。git fetch origin master git merge origin/mastermasterブランチ上にいる想定で、リモート名:originからmasterブランチの最新の情報をローカルブランチに引き込むコマンドです。
origin/masterがリモート追跡ブランチ名ですね。pullって何?
fetchを使用してローカルリポジトリの更新を行う場合、fetchだけでなくmergeを行う必要があります。
よく実行する作業なのに毎回2コマンド打つのめんどくね?という時のためのpullなのです。つまりpullとは
⇒「fetch + merge」を1コマンドで実行してくれる便利なヤツ
となります。試しに、fetchを使ってローカルリポジトリを更新するコマンドと同様の動作を、pullを使用して実行しようとすると、、
git pull origin masterとなります。ちゃんと1行にまとまりました!
まとめ
普段使用するのはpullでいいと思うけど、pull=fetch+mergeを理解しておかないと、いざ謎のエラーが出てきたときに詰むから気を付けてください。
理解したとてエラー内容によっては詰むときは詰むけどね!!!!!
- 投稿日:2020-10-10T19:37:44+09:00
[Azure] デプロイセンターのブランチを変更する方法
はじめに
Azure App ServiceにGit(GitHub含む)を使用してデプロイしている場合についてです。
Azureポータルのデプロイセンターでは構成時に設定したブランチからデプロイされるようになっていますが、Azureポータルからはこのブランチを変更する機能がありません。
つまり一度デプロイを切断して再構成することになってしまうのですが、切断せずに変更する方法を説明します。
ブランチを変更する方法
ブランチはKuduサービスでREST APIを呼び出すことで変更できます。
具体的な方法はここで説明されています。
Deployment branch# Switch branch (/settings endpoint) $ curl https://<user>:<pass>@<site>.scm.azurewebsites.net/settings \ --data "{key: 'branch', value: '<branch>' }" \ -H "Content-Type: application/json; charset=UTF-8"
<user>
と<pass>
はデプロイユーザの情報です。「発行プロファイルの取得」などから確認してください。
<site>
はApp Service名です。
<branch>
は変更したいブランチ名です。実行するとブランチが変更されます。デプロイセンターの画面を更新して変更されたことを確認してください。
※ 2020/10/10現在、「最新の情報に更新」をしてもブランチなどの基本情報は更新されません。一度別のページに移動するか、ブラウザから更新してください。ブランチが切り替わったらデプロイしましょう。
デプロイセンターの同期から新しいブランチでデプロイを開始します。
APIを利用してデプロイしたい場合は、その例も先程のwikiに記載されています。バッチの紹介
先程のコマンドを使用してバッチファイルを作成しました。
blue32a/azure-change-deploy-branch
例えばKuduサービスから適当なディレクトリにバッチファイルを置いて実行できます。
- 投稿日:2020-10-10T18:59:39+09:00
CI/CDをkatacodaで体験(初心者向け) - Part2
CI/CD入門
このぺーじでは、katacodaと呼ばれる「ブラウザから無料で勉強用のインスタンスを起動できるWebサービス」を利用してCI/CDを実践します
内容は上記リンクに沿うので、不明点があればそちらへどうぞGitのバージョン管理について - scenario2
ここでは、CI/CDとして欠かせないGitによるバージョン管理について学習します
このシナリオで学習することをさっと確認する場合は概要を確認
理解に間違い等がございましたら、ぜひご指摘ください概要
git diff
でレポジトリとワーキングディレクトリ、ステージング(オプションとして--staged
)との差分をコードレベルで表示git log
でGitのレポジトリの履歴とコミットログを出力git show
はコミットで行われた変更を表示(前回コミットとの差分を出力)Step 1 - Git Status
前回の記事で説明した通り、
git status
はレポジトリの状態と異なるファイルの状態を出力します
現在のGit管理されているファイルの状態を確認$ git status On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>..." to discard changes in working directory) modified: committed.js Untracked files: (use "git add <file>..." to include in what will be committed) untracked.js no changes added to commit (use "git add" and/or "git commit -a")レポジトリ上に
committed.js
は存在しており、何らかの変更が加えられていると判明
一方、untracked.js
はレポジトリ上に存在しなく、新規で作成されたため、untracked file
と認識されていますStep 2 - Git Diff
git diff
はレポジトリとワーキングディレクトリ、ステージング(ステージングとの比較には--staged
オプションを必要とする)との具体的な差分を出力します。
そのため、新規作成されたファイルは無視されます$ git diff ESC[1mdiff --git a/committed.js b/committed.jsESC[m ESC[1mindex 12e7e7c..fc77969 100644ESC[m ESC[1m--- a/committed.jsESC[m ESC[1m+++ b/committed.jsESC[m ESC[36m@@ -1 +1 @@ESC[m ESC[31m-console.log("Committed File")ESC[m ESC[32m+ESC[mESC[32mconsole.log("Demostrating changing a committed file")ESC[mちなみに、
git diff
により出力される対象は現在いるディレクトリには左右されない模様$ pwd /home/scrapbook/tutorial $ mkdir testDirectry $ git diff testDirectry/ $ cd testDirectry/ $ git diff ESC[1mdiff --git a/committed.js b/committed.jsESC[m ESC[1mindex 12e7e7c..fc77969 100644ESC[m ESC[1m--- a/committed.jsESC[m ESC[1m+++ b/committed.jsESC[m ESC[36m@@ -1 +1 @@ESC[m ESC[31m-console.log("Committed File")ESC[m ESC[32m+ESC[mESC[32mconsole.log("Demostrating changing a committed file")ESC[mまた、特定のファイルの差分のみ表示する場合は
git diff <file_name>
と指定すればよい$ git diff untracked.js //レポジトリに存在しないため出力されない $ git diff committed.js ESC[1mdiff --git a/committed.js b/committed.jsESC[m ESC[1mindex 12e7e7c..fc77969 100644ESC[m ESC[1m--- a/committed.jsESC[m ESC[1m+++ b/committed.jsESC[m ESC[36m@@ -1 +1 @@ESC[m ESC[31m-console.log("Committed File")ESC[m ESC[32m+ESC[mESC[32mconsole.log("Demostrating changing a committed file")ESC[mStep 3 - Git Add
ワーキングディレクトリからステージングへのファイルの移動
$ ls -a . .. committed.js .git untracked.js $ git add . //カレントディレクトリ上のファイルを一度にステージングに移動 $ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) modified: committed.js new file: untracked.jsこのようにGitでの管理対象はファイルだけでなく、ディレクトリも指定可能
特定のファイルのみステージングへ移動させる場合、git add <file name>
に置き換えるStep 4 - Staged Differences
step2にて
git diff
はレポジトリとの差分を具体的に出力すると説明したが、正確にはレポジトリとワーキングディレクトリの差分を出力
ステージングとの差分を出力する場合は--staged
オプションを必要とする$ git diff committed.js //committed.jsはワーキングディレクトリ上に存在しないので出力なし $ git diff --staged committed.js ESC[1mdiff --git a/committed.js b/committed.jsESC[m ESC[1mindex 12e7e7c..fc77969 100644ESC[m ESC[1m--- a/committed.jsESC[m ESC[1m+++ b/committed.jsESC[m ESC[36m@@ -1 +1 @@ESC[m ESC[31m-console.log("Committed File")ESC[m ESC[32m+ESC[mESC[32mconsole.log("Demostrating changing a committed file")ESC[mStep 5 - Git Log
git log
はGitのレポジトリの履歴とコミットログを出力する$ git status On branch master Changes to be committed: (use "git reset HEAD <file>..." to unstage) modified: committed.js Untracked files: (use "git add <file>..." to include in what will be committed) untracked.js $ git log ESC[33mcommit 3a8c0df6d91273ebd81a5c3c2b0e76303a722395ESC[mESC[33m (ESC[mESC[1;36mHEAD -> ESC[mESC[ Author: Katacoda Scenario <scenario@katacoda.com> Date: Sat Oct 10 09:00:32 2020 +0000 Changed the output message in committed.js ESC[33mcommit d006bf3fa576f22ba26ec10ff3e3dddeb27235dcESC[m Author: Katacoda Scenario <scenario@katacoda.com> Date: Sat Oct 10 08:58:25 2020 +0000 Initial Commit //おそらくkatacodaの中でgit initが行われておりそのログと思われる $ git status On branch master Untracked files: (use "git add <file>..." to include in what will be committed) untracked.js nothing added to commit but untracked files present (use "git add" to track)ここで注目するところは、
git log
コマンドは追跡されているファイルを自動的に(内部的に)git commit
しているということ
と認識しているが、もし間違っていたらご指摘くださいStep 6 - Git Show
git log
はコミットの作成者とメッセージを示しますが、コミットで行われた変更を表示するには、コマンドgit show
を使用$ git show ESC[33mcommit 68e9f2f3b092f0133b087c8f35599c31f5cb66e8ESC[mESC[33m (ESC[mESC[1;36mHEAD -> ESC[mESC[ Author: Katacoda Scenario <scenario@katacoda.com> Date: Sat Oct 10 09:22:11 2020 +0000 Changed the output message in committed.js ESC[1mdiff --git a/committed.js b/committed.jsESC[m ESC[1mindex 12e7e7c..fc77969 100644ESC[m ESC[1m--- a/committed.jsESC[m ESC[1m+++ b/committed.jsESC[m ESC[36m@@ -1 +1 @@ESC[m ESC[31m-console.log("Committed File")ESC[m ESC[32m+ESC[mESC[32mconsole.log("Demostrating changing a committed file")ESC[m
- 投稿日:2020-10-10T18:02:40+09:00
mergeとrebase完全理解した
Git MERGE vs REBASE のまとめ
masterブランチ
master.htmlm1 m2 m3masterブランチ ログ
m3 m2 m1featureブランチ
master.htmlm1 m2feature.htmlf1 f2featureブランチ ログ
f2 f1 m2最終的なファイル
master.htmlm1 m2 m3feature.htmlf1 f2git marge --squash feature
git add . git commit -m "marge feature and master"marge feature and master m3 m2 m1git rebase feature
f2 f1 m3 m2 m1
- 投稿日:2020-10-10T18:02:40+09:00
margeとrebase完全理解した
Git MERGE vs REBASE のまとめ
masterブランチ
master.htmlm1 m2 m3masterブランチ ログ
m3 m2 m1featureブランチ
master.htmlm1 m2feature.htmlf1 f2featureブランチ ログ
f2 f1 m2最終的なファイル
master.htmlm1 m2 m3feature.htmlf1 f2git marge --squash feature
git add . git commit -m "marge feature and master"marge feature and master m3 m2 m1git rebase feature
f2 f1 m3 m2 m1
- 投稿日:2020-10-10T15:50:41+09:00
GitHubのerror: GH007: Your push would publish a private email address.への対応方法
問題
GitHubに新規リポジトリを作成し、ローカルのレポジトリをコミットをしようとしたところ、謎のエラーに遭遇しました。
作業内容
GitHubサイト上にリポジトリを作成後、ローカルで下記の通りにレポジトリ作成、コミット、プッシュを実行。
git init git remote add origin git@github.com:username/reponame.git git add . git commit -m “initial commit” git push origin masterした結果、下記のエラーが発生。
remote: error: GH007: Your push would publish a private email address. remote: You can make your email public or disable this protection by visiting: remote: http://github.com/settings/emails原因
下記条件の時にエラーが起きるようです。目的は意図しないメールアドレスの公開を防ぐためでしょう。
- GitHubアカウントのメールアドレスを公開しない設定にしている
- Publicなリポジトリを作成している
- リポジトリのauthorが上記設定で非公開にしたメールアドレスになっている
解決策
解決先は単純でエラーに記載の通り、メールアドレスの公開設定を変更するだけです。
メールアドレスの公開設定を変更
アカウントの設定ページを開き、下記のチェックを外します。
GitのAuthor設定変更はGitHubのこの記事などを参照してください。
- 投稿日:2020-10-10T15:36:22+09:00
SourceTreeを使用して git: 'secrets' is not a git command. See 'git --help'. エラー解決方法
環境
macOS 10.15.6 git 2.23.0SourceTreeでコミット使用とした際に以下のエラー画面が表示された
git: 'secrets' is not a git command. See 'git --help'.いろいろ調べたのですが、方法としては
そもそもgit-secretsがインストールされていない可能性brew install git-secrets自分の場合は下の結果が表示され既にインストール済みと
Warning: git-secrets 1.3.0 is already installed and up-to-date次に指定したgitと同じパスにgit-secretsを置くこと
自分は置いていたのですが、うまくいかず...$ which git /usr/local/bin/git $ which git-secrets /usr/local/bin/git-secrets次にSourceTreeの設定でそもそもgitの指定が間違っている
/usr/local/bin/gitを指定する(環境設定 > Git > 「システムの Git を使用する」)
自分の場合は/usr/local/Cellar/git/2.13.1/bin/gitの指定になっていたのが問題のようでした。参考記事
【Git】git: 'secrets' is not a git command. See 'git --help'.というエラーがでたときの解決方法
AWSアクセスキーをGitリポジトリに混入させないために git-secrets を導入した
- 投稿日:2020-10-10T14:48:38+09:00
GitやGithubの使い方メモ
GitおよびGithubの使い方や各種設定および注意事項などのメモ書き
git init
git remote add等の
初期設定とmasterブランチ作成済みとして
僕は以下のようにしています。git checkout -b 〇〇でブランチを切って
git status
git diff
git add .
git commit -m "コメント"
git push HEAD
を使用しています。プルリクで修正がありましたら
再度git add、git commitをした上で
git rebase -i
git push -f origin HEADを実施します。その後Githubでmasterへのマージが完了したら
git checkout master
git pull origin master
をします。途中で別のブランチで別のタスクを行うときは、git stashを使っています。
Gitは奥が深く、全ての機能を使いこなすのは難しいし、
余計なことをすると他の人に迷惑がかかるので、私の使う Git command は非常限定的です。基本的には、git checkout -b {ブランチ名} でブランチを作り、
そこで git status, git add, git commit を使って様々な変更を加え、
git push origin {ブランチ名} でサーバーにブランチをプッシュした後、
Github にアクセスして pull request を作った上で、コードレビューをして、
マージも Github 上で行う、
そして、マージしたものを git checkout master、git pull origin master で取得する、
というのが流れです。複数の作業を同時期にする場合は、常に一度 master ブランチに戻って、
最新のものを pull し、そこから新たなブランチを作って作業します。
- 投稿日:2020-10-10T05:33:05+09:00
[GitHub]Gitの仕組みやコマンドの意味はよくわからないけど、GitHubでの学習記録をとりあえず始めておきたい
はじめに
エンジニア転職に向けて、
学習記録を GitHub で管理しとくと、
面接のときにもアピールになると聞いた!→でも、GitHubもGitもよくわからんし、今は優先してじっくり学習してる余裕もないし。
…でもやっぱり、せっかく学習進めているんだから、GitHubでの学習記録はすぐにでも始めておきたいんだけどなぁ。そんな過去の自分が知りたかった、GitHubでエンジニアの学習記録を(Gitの理解は後回しにして)とりあえず始める方法を、できるだけ少ないステップでまとめてみました。
※私はサーバーサイド学習中の実務未経験者で、最近、UdemyのGit: もう怖くないGit!チーム開発で必要なGitを完全マスターのおかげで、もう怖くないGit!な状態になったばかりで(超おすすめです)、順調にGitHubに草を生やし始めています
※記事のとおりやってもできない等あれば、教えていただけると嬉しいです
この記事のとりあえずのゴール
- とりあえず、学習記録(コードを書いたファイルやディレクトリ)をGitHubに初めて載せる
- とりあえず、その後の学習記録の進捗(ファイルやコードの変更履歴)をGitHubへ記録できる
※ ステージやコミットなどの主要な用語の説明も思いっきり省略させていただくので、この記事を読んでもGitの仕組みについてはわかるようにはならないです
前提
- パソコンはMac
- Gitのダウンロード(GitはデフォルトでMacには入っている)
- ターミナルでのコマンド操作(ディレクトリの移動ができる)
- GitHubにプッシュしたことがない
0. とりあえず準備
0-1. GitHubのアカウント未登録の方は、アカウント登録する(無料)
0-2. Git の初期設定
- ターミナルで、GitHubで登録したユーザー名とメールアドレスを未設定の場合は、
git config
コマンドを実行して、設定しておくターミナル# ユーザー名を設定(" "内は自分の user.name に置き換える) $ git config --global user.name "github user name" # メールアドレスを設定(GitHubで設定した自分の user.email に置き換える) $ git config --global user.email github@example.com1. ターミナルでの手順
1-1. 学習を記録したいディレクトリに移動する
1-2.
git init
コマンドを実行して .git ディレクトリを作成するターミナル$ git init
※ .git ディレクトリ ができた階層とそれより下のディレクトリやファイルの変更履歴が管理される
1-3.
git add
コマンドを実行して、ステージに追加するターミナル$ git add .1-4.
git commit
コマンドを実行して、コミットするターミナル$ git commit -m "コミットメッセージ"※ コミットメッセージ は、変更内容の説明を書く
2. GitHub ページでの手順
2-1. GitHub上でリポジトリを作成する
※ リポジトリとは、履歴データの保管場所のこと
GitHub を開く → Your profile へ移動する
① HTTPS を選択する → ② 「…or push an existing repository from the command line」のコマンドをコピーする
3. ターミナルに戻っての手順
3-1. GitHubでコピーしたコマンドを、ターミナルに貼り付けて実行する
ターミナル$ git remote add origin https://github.com/(ユーザー名)/(リポジトリ名) $ git branch -M main $ git push -u origin main
※ 実行した時に、publickey(公開鍵)についての下記エラーがでたら…
エラー文git@github.com: Permission denied (publickey).→下記のQiita記事を参考にしたら解消しました
- GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~ - Qiita
3-2. GitHubに変更履歴を送信できていれば、リロードすると内容が表示される
以上でとりあえず、学習記録(コードを書いたファイルやディレクトリ)をGitHubに載せられた!
その後…日々の学習記録のGitHubへの記録方法
下記の3つのコマンドで、学習記録をGitHubでの変更履歴として管理できる!
- ファイルの変更履歴を残したいタイミングで、下記の3つのコマンドを実行する
ターミナル# ステージに追加する $ git add . # コミットする(コミットメッセージには変更内容を書く) $ git commit -m "コミットメッセージ" # GitHubへ送信する $ git pushいかがでしたでしょうか?記事のとおりやってもできない等あれば、教えていただけると嬉しいです!
最後に…Gitの学習時間が確保できれば、UdemyのGit: もう怖くないGit!チーム開発で必要なGitを完全マスターで、Gitの仕組みまで理解して裏で何が起こっているかまで理解するのがおすすめです!
ありがとうございました!
- 投稿日:2020-10-10T01:24:10+09:00
Git操作時のエラー
ネストビジュアルの大角です。今回はGit操作時に起きるエラーの対応方法についてです。
Gitについて
Gitの事をあまり知らない人向けに簡単にご説明させて頂きます。
分散型バージョン管理システムのGitは開発において複数人で実装したプログラムを一つに統合したり、データのバックアップや共有等データを管理する為に様々な機能が有り、クラウド上でメンバー間のやりとりが可能な為プログラマやCGデザイナーに多く使われているツールです。エラー内容
SourceTreeなどでpull操作が出来ない理由は色々有りますが、
下記エラーメッセージが出てpullが出来ない事が起きた事は無いでしょうか?
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch origin remote: Repository xxxxxxxxxxx/japaneseversionvideos1 not found fatal: repository 'https://bitbucket.org/xxxxxxxxxxx/japaneseversionvideos1.git/' not found エラー終了しました。エラーの内容は上記をご覧ください。こちらのエラー内容は
「対象のリポジトリが見つからへんで〜」
みたいなエラーですね。エラーが起きる理由
チーム開発を行っている場合、他のチームメンバーがリポジトリ名を変更したり、譲渡したりした場合に起こりうる内容になります。
対応方法
新たにcloneすれば問題は有りませんが、その時点で大量の変更作業をしている場合などデータ移行が面倒だと思いますし、移行時にミスやトラブルが発生して作業やり直しが発生すると作業時間を大幅に無駄にしてしまいます。
【結論】
リモートリポジトリの向き先を変更すれば解決します。
SourceTreeで行う場合
(1)Bitbucketの場合ですと、サイト内の対象のリポジトリのページの下記箇所や
clone操作で表示される下記箇所からhttps以降の部分をコピーしてテキストなどに保存しておきます。
(2)SourceTree右上に配置されている設定アイコンを押下します。
(3)そうすると下記ウインドウが表示されますので対象のパスをクリックします。
(4)パスが変更できるようになるので、(1)で保存していた内容を貼り付けます。
(5)この後にpull操作を行えば、上手くいくはずです。
Gitの設定ファイルを直接変更する場合
Gitの設定ファイルを直接変更しても対応可能ですが、Gitの設定ファイルが入っているディレクトリは非表示になっておりますので、過去に隠しファイルを表示させる設定を行っていない場合、Gitの設定ファイルを操作出来ませんので、隠しファイルの表示操作が必要となります。
MacとWindows10の2パターンでの方法をご説明します。
(A)
■Macの場合
ターミナルを起動し、下記コマンドを実行して下さい。$ defaults write com.apple.finder AppleShowAllFiles TRUE上記コマンドを実行後、設定を適用させる為に下記コマンドでFinderを一度終了します。
$ killall Finder再度、Finderを開くと、隠しフォルダ・隠しファイルが表示されていると思います。
■Windows 10の場合
エクスプローラーを起動し「表示」タブを押下すると「隠しファイル」と表示された左横にチェックボックスが有りますので、クリックして「レ点」が表示されている状態にします。
(B)(A)の手順によって下記のようにGitのディレクトリが表示されますのでダブルクリックでディレクトリを開きます。
(C)ディレクトリの中にGitConfigというファイルが有るのでダブルクリックしてエディター編集ツールで開くと下記のように表示されます。
(D)事前に(1)で保存していた内容を貼り付けます。
url =「ここに(1)で保存していた内容を貼り付けます」
pushurl = 「ここに(1)で保存していた内容を貼り付けます」(E)
■Macの場合
「Command」 + 「S」 で変更を保存します。■Windowsの場合
「Ctrl」 + 「S」 で変更を保存します。(F)この後にpull操作を行えば、上手くいくはずです。
終わりに
便利なGitが納品前などに突然使えなくなったら、予定していたスケジュールを変更せざるを得なくなったりして困ってしまいますよね。
あと、Gitを使い始めの頃はデータの関係性がさっぱり分からず、関係無いブランチにデータをマージしてしまったり、コンフリクト対応時に必要なデータを消してしまったりとトラブルに振り回されたりする事も有るかと思いますが、ある程度Gitの事が分かって来たら無くてはならない存在になってきますね。
読んで頂いて有難う御座います。
それでは失礼します。
- 投稿日:2020-10-10T01:24:10+09:00
Gitでpullした時のnot foundエラー
ネストビジュアルの大角です。今回はGit操作時に起きるエラーの対応方法についてです。
Gitについて
Gitの事をあまり知らない人向けに簡単にご説明させて頂きます。
分散型バージョン管理システムのGitは開発において複数人で実装したプログラムを一つに統合したり、データのバックアップや共有等データを管理する為に様々な機能が有り、クラウド上でメンバー間のやりとりが可能な為プログラマやCGデザイナーに多く使われているツールです。エラー内容
SourceTreeなどでpull操作が出来ない理由は色々有りますが、
下記エラーメッセージが出てpullが出来ない事が起きた事は無いでしょうか?
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch origin remote: Repository xxxxxxxxxxx/japaneseversionvideos1 not found fatal: repository 'https://bitbucket.org/xxxxxxxxxxx/japaneseversionvideos1.git/' not found エラー終了しました。エラーの内容は上記をご覧ください。こちらのエラー内容は
「対象のリポジトリが見つからへんで〜」
みたいなエラーですね。エラーが起きる理由
チーム開発を行っている場合、他のチームメンバーがリポジトリ名を変更したり、譲渡したりした場合に起こりうる内容になります。
対応方法
新たにcloneすれば問題は有りませんが、その時点で大量の変更作業をしている場合などデータ移行が面倒だと思いますし、移行時にミスやトラブルが発生して作業やり直しが発生すると作業時間を大幅に無駄にしてしまいます。
【結論】
リモートリポジトリの向き先を変更すれば解決します。
SourceTreeで行う場合
(1)Bitbucketの場合ですと、サイト内の対象のリポジトリのページの下記箇所や
clone操作で表示される下記箇所からhttps以降の部分をコピーしてテキストなどに保存しておきます。
(2)SourceTree右上に配置されている設定アイコンを押下します。
(3)そうすると下記ウインドウが表示されますので対象のパスをクリックします。
(4)パスが変更できるようになるので、(1)で保存していた内容を貼り付けます。
(5)この後にpull操作を行えば、上手くいくはずです。
Gitの設定ファイルを直接変更する場合
Gitの設定ファイルを直接変更しても対応可能ですが、Gitの設定ファイルが入っているディレクトリは非表示になっておりますので、過去に隠しファイルを表示させる設定を行っていない場合、Gitの設定ファイルを操作出来ませんので、隠しファイルの表示操作が必要となります。
MacとWindows10の2パターンでの方法をご説明します。
(A)
■Macの場合
ターミナルを起動し、下記コマンドを実行して下さい。$ defaults write com.apple.finder AppleShowAllFiles TRUE上記コマンドを実行後、設定を適用させる為に下記コマンドでFinderを一度終了します。
$ killall Finder再度、Finderを開くと、隠しフォルダ・隠しファイルが表示されていると思います。
■Windows 10の場合
エクスプローラーを起動し「表示」タブを押下すると「隠しファイル」と表示された左横にチェックボックスが有りますので、クリックして「レ点」が表示されている状態にします。
(B)(A)の手順によって下記のようにGitのディレクトリが表示されますのでダブルクリックでディレクトリを開きます。
(C)ディレクトリの中にGitConfigというファイルが有るのでダブルクリックしてエディター編集ツールで開くと下記のように表示されます。
(D)事前に(1)で保存していた内容を貼り付けます。
url =「ここに(1)で保存していた内容を貼り付けます」
pushurl = 「ここに(1)で保存していた内容を貼り付けます」(E)
■Macの場合
「Command」 + 「S」 で変更を保存します。■Windowsの場合
「Ctrl」 + 「S」 で変更を保存します。(F)この後にpull操作を行えば、上手くいくはずです。
終わりに
便利なGitが納品前などに突然使えなくなったら、予定していたスケジュールを変更せざるを得なくなったりして困ってしまいますよね。
あと、Gitを使い始めの頃は扱い方がさっぱり分からず、関係無いブランチにデータをプルリクエストしてしまったり、コンフリクト対応時に必要なデータを消してしまったりとトラブルに振り回されたりする事も有るかと思いますが、ある程度Gitの事が分かって来たら無くてはならない存在になってきますね。
読んで頂いて有難う御座います。
それでは失礼します。
- 投稿日:2020-10-10T01:24:10+09:00
Gitでpullした時に発生するnot foundエラー
ネストビジュアルの大角です。今回はGit操作時に起きるエラーの対応方法についてです。
Gitについて
Gitの事をあまり知らない人向けに簡単にご説明させて頂きます。
分散型バージョン管理システムのGitは開発において複数人で実装したプログラムを一つに統合したり、データのバックアップや共有等データを管理する為に様々な機能が有り、クラウド上でメンバー間のやりとりが可能な為プログラマやCGデザイナーに多く使われているツールです。エラー内容
SourceTreeなどでpull操作が出来ない理由は色々有りますが、
下記エラーメッセージが出てpullが出来ない事が起きた事は無いでしょうか?
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch origin remote: Repository xxxxxxxxxxx/japaneseversionvideos1 not found fatal: repository 'https://bitbucket.org/xxxxxxxxxxx/japaneseversionvideos1.git/' not found エラー終了しました。エラーの内容は上記をご覧ください。こちらのエラー内容は
「対象のリモートリポジトリが見つからへんで〜」
みたいなエラーですね。エラーが起きる理由
チーム開発を行っている場合、他のチームメンバーがリポジトリ名を変更したり、譲渡したりした場合に起こりうる内容になります。
対応方法
新たにcloneすれば問題は有りませんが、その時点で大量の変更作業をしている場合などデータ移行が面倒だと思いますし、移行時にミスやトラブルが発生して作業やり直しが発生すると作業時間を大幅に無駄にしてしまいます。
【結論】
リモートリポジトリのURLを変更すれば解決します。
SourceTreeで行う場合
(1)Bitbucketの場合ですと、サイト内の対象のリポジトリのページの下記箇所や
clone操作で表示される下記箇所からhttps以降の部分をコピーしてテキストなどに保存しておきます。
(2)SourceTree右上に配置されている設定アイコンを押下します。
(3)そうすると下記ウインドウが表示されますので対象のパスをクリックします。
(4)パスが変更できるようになるので、(1)で保存していた内容を貼り付けます。
(5)この後にpull操作を行えば、上手くいくはずです。
Gitの設定ファイルを直接変更する場合
Gitの設定ファイルを直接変更しても対応可能ですが、Gitの設定ファイルが入っているディレクトリは非表示になっておりますので、過去に隠しファイルを表示させる設定を行っていない場合、Gitの設定ファイルを操作出来ませんので、隠しファイルの表示操作が必要となります。
MacとWindows10の2パターンでの方法をご説明します。
(A)
■Macの場合
ターミナルを起動し、下記コマンドを実行して下さい。$ defaults write com.apple.finder AppleShowAllFiles TRUE上記コマンドを実行後、設定を適用させる為に下記コマンドでFinderを一度終了します。
$ killall Finder再度、Finderを開くと、隠しフォルダ・隠しファイルが表示されていると思います。
■Windows 10の場合
エクスプローラーを起動し「表示」タブを押下すると「隠しファイル」と表示された左横にチェックボックスが有りますので、クリックして「レ点」が表示されている状態にします。
(B)(A)の手順によって下記のようにGitのディレクトリが表示されますのでダブルクリックでディレクトリを開きます。
(C)ディレクトリの中にGitConfigというファイルが有るのでダブルクリックしてエディター編集ツールで開くと下記のように表示されます。
(D)事前に(1)で保存していた内容を貼り付けます。
url =「ここに(1)で保存していた内容を貼り付けます」
pushurl = 「ここに(1)で保存していた内容を貼り付けます」(E)
■Macの場合
「Command」 + 「S」 で変更を保存します。■Windowsの場合
「Ctrl」 + 「S」 で変更を保存します。(F)この後にpull操作を行えば、上手くいくはずです。
終わりに
便利なGitが納品前などに突然使えなくなったら、予定していたスケジュールを変更せざるを得なくなったりして困ってしまいますよね。
あと、Gitを使い始めの頃は扱い方がさっぱり分からず、関係無いブランチにデータをプルリクエストしてしまったり、コンフリクト対応時に必要なデータを消してしまったりとトラブルに振り回されたりする事も有るかと思いますが、ある程度Gitの事が分かって来たら無くてはならない存在になってきますね。
読んで頂いて有難う御座います。
それでは失礼します。
- 投稿日:2020-10-10T01:24:10+09:00
Gitでpullした時に発生するnot foundエラーの対応方法
ネストビジュアルの大角です。今回はGit操作時に起きるエラーの対応方法についてです。
Gitについて
Gitの事をあまり知らない人向けに簡単にご説明させて頂きます。
分散型バージョン管理システムのGitは開発において複数人で実装したプログラムを一つに統合したり、データのバックアップや共有等データを管理する為に様々な機能が有り、クラウド上でメンバー間のやりとりが可能な為プログラマやCGデザイナーに多く使われているツールです。エラー内容
SourceTreeなどでpull操作が出来ない理由は色々有りますが、
下記エラーメッセージが出てpullが出来ない事が起きた事は無いでしょうか?
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch origin remote: Repository xxxxxxxxxxx/japaneseversionvideos1 not found fatal: repository 'https://bitbucket.org/xxxxxxxxxxx/japaneseversionvideos1.git/' not found エラー終了しました。エラーの内容は上記をご覧ください。こちらのエラー内容は
「対象のリモートリポジトリが見つからへんで〜」
みたいなエラーですね。エラーが起きる理由
チーム開発を行っている場合、他のチームメンバーがリポジトリ名を変更したり、譲渡したりした場合に起こりうる内容になります。
対応方法
新たにcloneすれば問題は有りませんが、その時点で大量の変更作業をしている場合などデータ移行が面倒だと思いますし、移行時にミスやトラブルが発生して作業やり直しが発生すると作業時間を大幅に無駄にしてしまいます。
【結論】
リモートリポジトリのURLを変更すれば解決します。
SourceTreeで行う場合
(1)Bitbucketの場合ですと、サイト内の対象のリポジトリのページの下記箇所や
clone操作で表示される下記箇所からhttps以降の部分をコピーしてテキストなどに保存しておきます。
(2)SourceTree右上に配置されている設定アイコンを押下します。
(3)そうすると下記ウインドウが表示されますので対象のパスをクリックします。
(4)パスが変更できるようになるので、(1)で保存していた内容を貼り付けます。
(5)この後にpull操作を行えば、上手くいくはずです。
Gitの設定ファイルを直接変更する場合
Gitの設定ファイルを直接変更しても対応可能ですが、Gitの設定ファイルが入っているディレクトリは非表示になっておりますので、過去に隠しファイルを表示させる設定を行っていない場合、Gitの設定ファイルを操作出来ませんので、隠しファイルの表示操作が必要となります。
MacとWindows10の2パターンでの方法をご説明します。
(A)
■Macの場合
ターミナルを起動し、下記コマンドを実行して下さい。$ defaults write com.apple.finder AppleShowAllFiles TRUE上記コマンドを実行後、設定を適用させる為に下記コマンドでFinderを一度終了します。
$ killall Finder再度、Finderを開くと、隠しフォルダ・隠しファイルが表示されていると思います。
■Windows 10の場合
エクスプローラーを起動し「表示」タブを押下すると「隠しファイル」と表示された左横にチェックボックスが有りますので、クリックして「レ点」が表示されている状態にします。
(B)(A)の手順によって下記のようにGitのディレクトリが表示されますのでダブルクリックでディレクトリを開きます。
(C)ディレクトリの中にGitConfigというファイルが有るのでダブルクリックしてエディター編集ツールで開くと下記のように表示されます。
(D)事前に(1)で保存していた内容を貼り付けます。
url =「ここに(1)で保存していた内容を貼り付けます」
pushurl = 「ここに(1)で保存していた内容を貼り付けます」(E)
■Macの場合
「Command」 + 「S」 で変更を保存します。■Windowsの場合
「Ctrl」 + 「S」 で変更を保存します。(F)この後にpull操作を行えば、上手くいくはずです。
終わりに
便利なGitが納品前などに突然使えなくなったら、予定していたスケジュールを変更せざるを得なくなったりして困ってしまいますよね。
あと、Gitを使い始めの頃は扱い方がさっぱり分からず、関係無いブランチにデータをプルリクエストしてしまったり、コンフリクト対応時に必要なデータを消してしまったりとトラブルに振り回されたりする事も有るかと思いますが、ある程度Gitの事が分かって来たら無くてはならない存在になってきますね。
読んで頂いて有難う御座います。
それでは失礼します。