プルリクエストでブランチをマージなど!【Githubの使い方】

おすすめのオンラインプログラミング学習

Githubの使い方をまとめておきます。

Githubの使い方

Githubの公式

公式サイトはこちらです。

GitHub: Where the world builds software
GitHub is where over 50 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review...

Githubの登録

登録方法は以下のとおりです。

  1. [Username]、[Email]、[Password] を入力して [Sign up for GitHub] のボタンを押す。
  2. ロボットでないことを証明する。
  3. [Next Select a plan] のボタンを押す。
  4. [Free](無料)か [Pro](有料) かを選ぶ。
  5. [Welcome to GitHub] ページで、プログラミング経験、利用目的、興味のあるキーワードを入力して [Complete setup] ボタンを押す。選ばなくてもスルーできる。
  6. メールアドレスにメールが送られてくるため、 URL をクリックする。続いてリポジトリの作成に入る

Githubフリー版と有料版の違い

Githubフリー版と有料版の違いです。

Free
$0
USD
The basics of GitHub for every developer
Unlimited public repositories
Unlimited private repositories
Limited to 3 collaborators for private repositories
2,000 total Action minutes/month
See pricing details
500MB of GitHub Packages storage
See pricing details
Advanced vulnerability scanning for public repositories
Automated security updates
GitHub Security Advisories
Issues and bug tracking
Project management
Pro
$7
USD
Per month
Pro tools for developers with advanced requirements
Includes everything in Free
Unlimited collaborators
3,000 total Action minutes/month
See pricing details
1GB of GitHub Packages storage
See pricing details
Private GitHub Pages and Wikis
Private protected branches
Code owners
Repository insights

有料版と無料版の違いは、共有できる人間が3人が大きいでしょう。

他にはアクションできる回数が2000から3000に、ストレージ容量が500MGから1GBに、GitHub PagesとWikiが利用可になることでしょうか。

githubのリポジトリの作り方

リポジトリの作り方は以下のとおりです。2回目以降は + アイコン >New repositoryでその画面に移動します。

  • リポジトリ名を入力する。
  • Initialize this repository with a README:READMEを作成するか否か。後から作れるため未チェック。
  • Add .gitignore:git で無視するファイルを指定するファイル。後から作れるためNone
  • Add a license:ライセンス設定。後から作れるためNone
  • [Create repository] でリポジトリを新規作成する。

githubのリモートリポジトリを共有用に新規でわける

外注さんなどの都合で、たまにリモートリポジトリを分けたいときがあります。

前提の作業として、github上で新規のリポジトリを作成しておきます。

あとはvscode上で確認します。

git remote -v

紐づけるリモートリポジトリのurlを変更します。

git remote set-url origin https://github.com/USERNAME/REPOSITORY.git

再び確認すると変わっています。

git remote -v

もっと詳しくみたかったら、configファイルを確認します。

cat .git/config

メールアドレスと名前を確認したい場合はこちらのコマンドで。

git config --list

あとはステージング、addはgui上でやって最後はgithubにプッシュしましょう。

gitのプッシュ(git push -u origin master)

git push -u origin master

-uは推奨されています。詳しくは調べてみましょう。

git push origin master --force

pushがうまくいかないとき強制的に行う方法があります。通常はpullしましょう。

git push origin master --force-with-lease

もう少しマイルドな方法もあります。ローカルrefとリモートrefを比較してローカルが最新か否かを確認します。最新ではない場合はPUSHを失敗します。直前にfetchしているとPUSHが成功してしまうので要注意。

githubのリモートリポジトリの削除

github上でいらないリモートリポジトリは削除します。

Settings > Danger Zoneの[ Delete this repository ] > リポジトリ名を入力して[I understand the conequences, delete this repository]

リモートリポジトリが削除されるだけで、ローカルリポジトリを削除したい場合は別途、削除の作業が必要です。

githubにおけるブランチをマージ

github上でプルリクエストをマージする流れです。

  1. プルリクエスト
  2. This branch has no conflicts with the base branch(競合が発生していないことを確認)
  3. 「Merge pull request」のボタンを押します。
  4. 「Confirm merge」のボタンを押します。
  5. マスターブランチを確認して「Delete branch」のボタンを押します。

最後にローカルリポジトリにも反映させます。

git pull origin master
ローカルファイルとコンフリクトを起こす場合は、ローカルファイルをリネイムしてpullしてしまう手もあります。

gitのコマンドラインのブランチをマージ

github上でやる方法が簡単ですので上記の方法をおすすめしますが、一応書いておきます。

共同開発で誰かがブランチをあげてくれたとしましょう。いずれのコマンドでブランチの状況を確認しましょう。

ローカル&リモートブランチ一覧を表示します。

git branch -a

*印が付いているものが現在のブランチ です。なお、誰かがプルリクエストしてくれた場合、このコマンドを実行しても、最初含まれていません。fetchが必要です。

余談ですが、リモートブランチ一覧を表示するコマンドです。

git branch -r

fetchすると、github上のプルリクエストがVS Code上でみれます。

git fetch

個別に指定したい場合は次のとおりです。IDはgithubの#以降の数字です。BRANCHNAMEはなんでもOKの任意の名前です。

git fetch origin pull/ID/head:BRANCHNAME

再度、次のコマンドを実行すると見れるようになっているはず。

git branch -a

図説すると以下のようになります。

リモート:master

git fetchは、リモートのmasterからローカルのorigin/masterに。

ローカル:origin/master

git mergeは、ローカルのorigin/masterからローカルのmasterに。

ローカル:master

fetchとmargeとあわせたものが、git pullです。fetchではコンフリクトはおこりません。

ローカルファイルがある場合、チェックアウトしてmargeする流れになります。

git checkout project

fetchせず、ローカルファイルがない場合は、次のようになります。

git checkout -b project origin/project

最後にマージします。

git checkout project

まとめてやるなら、pullを使いましょう

git pull origin master

vs codeのGit Historyを使う場合は次の手順のようです。

  1. Git History(View > コマンドパレット > Git: View History (git log))を開きます
  2. masterブランチにチェックアウト(選択)
  3. 画面右のMove > Merge this commit into current branch

Please commit your changes or stash them before you switch branches.

ローカルで作業しているとき、別の開発者からあがってきたブランチをマージしたいときがあります。そんなときに便利なのがstachのコマンドです。

margeしようとしても、以下のエラーがでます。

error: Your local changes to the following files would be overwritten by checkout:
        nuxt.config.js
Please commit your changes or stash them before you switch branches.
Aborting

stashとは隠しておくという意味です。

まず、このコマンドを実行します。

git stash
// saveは省略できます。
git stash save

次のはただの確認コマンドです。

git stash list

pullします。

git pull origin master

あるいはgit fetchした場合はリポジトリ名です。

git marge リポジトリ名

ここまで実行すると、リモートにあった情報に更新されてローカル作業の情報が消えています。

次のコマンドを実行するとマージされて元に戻ります。

git stash pop

最新のスタッシュを適用し、スタッシュを削除する場合はpopを使ってください。個人的にはpop派です。

git stash apply

最新のスタッシュを適用し、スタッシュを残す場合はapplyを使ってください。

ブラウザ上からgithubのファイルを消す(小文字を大文字に変換後トラブル)

github上にだけに古いファイルが残ってしまったことがありました。小文字を大文字に変えてコミットしたときです。

github上から消せます。手順は以下のとおり。

  1. 消したいファイルを選ぶ
  2. 画面右上のゴミ箱アイコンをクリック
Add an optional extended despriction
にコメントを書いて

Commit directly to the master branch
ブランチを分けたいわけではないため、チェックをいれたまま

Commit changes
クリックします。

以上で削除されます。

githubの日付

日付はどううやらaddしたタイミングのようです。pushではありません。

スポンサーリンク

電子書籍のおすすめ比較

gitの本や動画

長くなったためこちらの記事にまとめなおしました。

Githubのおすすめ本(初心者向けVS Code入門書籍!チーム開発動画)
Gitのおすすめ本を紹介します また、Github、Bitbucket、SourceTreeなどをノウハウの覚書もかねていきます。 Github*VsCodeの時代に!Bitbucketとの比較 Git...
人気記事  安いオンラインプログラミングスクールおすすめ比較
  • 無料体験あり、オンライン完結あり
  • プログラミングスクールはオンラインで格安に!
  • 電子書籍並みの価格で買える動画学習サイトも一緒に紹介!初心者から上級者向け英語コンテンツまであり。ソースコードは言語関係なしに世界共通!
スポンサーリンク
おすすめのオンラインプログラミング学習
neruをフォローする
スポンサーリンク
ebookbrain

コメント

タイトルとURLをコピーしました