スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

WindowsでGitHubのリポジトリ管理(Windows10 TPでgit)

今更ながらハマった。git cloneとGistしか使ってなかったのに><
Windows10 TPからGitHubにリポジトリを作ってgit pushするまでの紆余曲折。

参考
ローカルで作ったリポジトリをgithubに初めてpushする方法
GitHub for Windowsを使ってGitの基本タスクを実行してみる(GUI編&PowerShell編)
初心者Git日記その四~GitHubリポジトリ作成~
初心者Git日記その五~GitHubにSSH公開鍵登録~
初心者Git日記その六~PCでGit初期設定とGitHubへのpush~

1.いきさつ
先日テンプレートいじってたじゃんね。htmlとcssとセットでいじってるからどーせならGitHubにリポジトリ作ってそこでいじれたほうがいいよねー。
特にWindowsの開発環境はクソすぎてhtmlとかそのままいじるの大変だし、頼みの綱だったStylenote5もTerapadもメニューが文字化けしてひどいことになってるのよねー。だからといってメモ帳で編集しようとは思わないし。
FC2のテンプレート編集画面からいじってもいい(というかいじってた)けど、そうするとインデントとかうっとうしいよね。左揃えとかしてコードいくつかコピペしてるとdivタグのとじ忘れとかあるよねー。それがコメント周りとかだったりするとプレビューで確認できないから適用してから「ぎゃー!!」ってなるよねー。(なった)

2.というわけでGitHubにリポジトリを作ろう
しかし先日までGistでコードコピペできて楽だなー、位にしか使ってなかった(それすら最近)
今までだってgit clone とgit pull くらいしか使ってなかった(しかも使ってたのはLinux上)
というわけで先行き不安でしたが(そしてその不安は的中するのですが)、まぁ覚えといて損はないはず。行ってみましょうか。
GitHubにアクセス。アカウントがない人は作りましょう。僕は先日Gistを使いたい(というよりブログにコードを貼り付けたい)ためだけにアカウントは作ってGistは使ってました。
右上の方の+マークから「New Repository」。Repository nameは適当につけときましょう。
Privateは有料コースじゃないと使えないので、無料コースな僕は必然Public一択です。ちなみにGistの方は無料のままでSecret設定できますね。
あとのよくわからないところは後回しでとりあえず「Create Repository」。これでとりあえずは完了です。

3.ローカルにGitHubアプリ入れてあれこれ
github.png githubの画面
Quick setup — if you've done this kind of thing beforeってとこから「Set up in Desktop」をクリックするとWindows用のGitHubSetup.exeというアプリがDLできます。これはGitHubをWindowsから使うためのGUIツールみたいですね。残念ながらサイトと同様全部英語です。頑張りましょう。
今回の目標はあくまでbootstrapforfc2のhtmlとcssファイルを同じリポジトリ内にUpすること。READ MEがどうこうとかライセンスがどうこうとかはあとでいいのですよあとで。
まずはfc2ってフォルダの中に2つのファイル突っ込んで、それでどうにか出来るものだと思って一挫折。
Desktopにフォルダ作ってたんだけど、このアプリは\Usr\Document配下にgit用のディレクトリを作りたがっているようです。
GitHub for Windowsを使ってGitの基本タスクを実行してみる(GUI編&PowerShell編)
しかしpublishができない。「failed to publish this branch」。二挫折。
冷静になって考えるとcommitしてなかった上にsshの鍵作ってなかったし、さらにGitHubのチュートリアルコマンドを適当に叩いてエラー吐きまくってたのでまぁ。

GitHub for Windowsの歯車アイコンから「Open in Git Shell」を起動してチュートリアル通りに叩いてもどーもうまくいかない。

> git commit -m "first commit"
On branch master

Initial commit

Untracked files:
bootstrap3forfc2.css
bootstrap3forfc2.html
> git remote add origin https://github.com/t-min/bootstrapforfc22clumn.git
fatal: remote origin already exists.
> git push origin master
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/t-min/bootstrapforfc22clumn.git'


とまぁ、うまく行ってるんだか怪しい結果の末にerror。
ローカルで作ったリポジトリをgithubに初めてpushする方法

remoteのレポジトリーをfetchしてmergeしてpushすればよい。


これも試してみたけどこの時点でエラー。三挫折。

4.sshの公開鍵をGitHubに登録
この辺りで自分がどーしよーもなくド素人だということに気付き始めています。入門的な情報を探すとこんな記事が。
初心者Git日記その四~GitHubリポジトリ作成~
初心者Git日記その五~GitHubにSSH公開鍵登録~
初心者Git日記その六~PCでGit初期設定とGitHubへのpush~
あー、sshの鍵ねー。Linuxサーバーでちょくちょく使ってたあれでしょ?
そういえばリポジトリ作った時にGitHubからメールで届いてたけど使い方がよくわかりませんでしたし気づきませんでした。
というわけで(?)鍵作ってGitHubに登録しましょう。
コマンドプロンプトから・・・

>ssh-keygen
'ssh-keygen' is not recognized as an internal or external command,
operable program or batch file


全くこれだからWindowsは糞だとry
Teratermは文字化けがひどくてあれ。
とか思ってたら、さっきのGitHub for Windowsの「Open in Git Shell」からならsshコマンドが使えるっぽい!!やっぱ端末よね。コマンド叩きたいよね!

> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/tmin/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/tmin/.ssh/id_rsa.
Your public key has been saved in /c/Users/tmin/.ssh/id_rsa.pub.
The key fingerprint is:
27:72:5e:17:84:e3:72:8d:cb:67:a9:51:bd:fe:cb:5b tmin@WIN-8PTVHLLKFO0
The key's randomart image is:
+--[ RSA 2048]----+


おっけー。

> cat /c/Users/tmin/.ssh/id_rsa.pub
cat : Cannot find path 'C:\c\Users\tmin\.ssh\id_rsa.pub' because it does not exist.
At line:1 char:1
+ cat /c/Users/tmin/.ssh/id_rsa.pub
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\c\Users\tmin\.ssh\id_rsa.pub:String) [Get-Content], ItemNotFoundExce
ption
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand


クソ。だからWindowsはクソだとry コマンドプロンプトと合わせて四挫折。

結局/c/Users/tmin/.ssh/id_rsa.pubを直接エディタで開いてコピーして、GitHubのサイトのアカウント設定から「SSH Keys」で「ADD SSH Key」。タイトルは適当に(今回はコンピューター名GitHub for Windows - WIN-8PTVHLLKFO0 )とかつけて、Keyの欄にペースト。

つながるか確認

> ssh git@github.com
Warning: Permanently added 'github.com,192.30.252.131' (RSA) to the list of known hosts.
PTY allocation request failed on channel 0


このエラーは「あなたは認証に成功しました。けど、GitHubではシェルアクセスは提供していないんだ。接続閉じますね。」ということらしい。とりあえず一段階クリア。

5.やっとこさfirst-commit?

> git config --global user.name "t-min"
> git config --global user.email na8ctm@gmail.com
C:\Users\tmin\Documents\GitHub\bootstrapforfc22clumn [master +2 ~0 -0 !]> git commit -m "first commit"
On branch master

Initial commit

Untracked files:
bootstrap3forfc2.css
bootstrap3forfc2.html

nothing added to commit but untracked files present


だめじゃん。五挫折。
この後git pullとか色々やってみたけどダメ。
GitHubのチュートリアルには

…or create a new repository on the command line

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:t-min/bootstrapforfc22clumn.git
git push -u origin master


とか書いてあるんですけど、READMEとかいらないからとりあえず。 [master +2 ~0 -0 !]> touch README.md

[master +3 ~0 -0 !]> git init
[master +3 ~0 -0 !]> git add README.md
[master +1 ~0 -0 | +2 ~0 -0 !]> git commit -m "first commit"
[master (root-commit) 75f5879] first commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
> git remote add origin git@github.com:t-min/bootstrapforfc22clumn.git
fatal: remote origin already exists.
[master +2 ~0 -0 !]> git push -u origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 206 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/t-min/bootstrapforfc22clumn.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.


もしかして通りました?
それではGitHubの該当ページを見てみましょうか。はい。README.mdしかありません。いらねぇって。六挫折。

7.変更はadd→commit→pushでお願いします
気づくの遅すぎですね。git のオプションって何してるかわかりにくいよねー。
結論から言えば、最初から今までadd commitが抜けてたからpushしても反映されなかった(中盤まではssh設定してなかったからつながらなかったのも輪をかけてめんどくさくしてた)わけでした。
git status で現状確認。

[master +2 ~0 -0 !]> git status
On branch master
Your branch is up-to-date with 'origin/master'.

Untracked files:
(use "git add ..." to include in what will be committed)

bootstrap3forfc2.css
bootstrap3forfc2.html


はい。addされてません。

[master +2 ~0 -0 !]> git add bootstrap3forfc2.css
[master +1 ~0 -0 | +1 ~0 -0 !]> git add bootstrap3forfc2.html
[master +2 ~0 -0]> git push -u origin master


addするとGit Shellでの[]内の数字が赤→緑に変わります。変更を全部addしたら、!マークが消えます。これでcommit準備ができたよーってかんじですね。
git commit -m 'コメント' チュートリアルにあったのはfirst commitでしたが、それは使っちゃったのでmade html css って入れてます。ここに変更箇所、変更内容を簡単に入れておけば、あとでどのバージョンでどの変更して結果どうなったかが追いやすいと思います。まぁ自分で使うならテキトーもいいですけどね。

[master +2 ~0 -0]> git commit -m 'made html css'
[master 813bfde] made html css
2 files changed, 546 insertions(+)
create mode 100644 bootstrap3forfc2.css
create mode 100644 bootstrap3forfc2.html


ここまで「ローカルリポジトリに対しての操作」です。これを混同してたからややこしいことをしてたんですね。commit成功するとmasterの後ろに出てた数字が消えます。
git log でcommit 履歴確認。


[master]> git log
commit 813bfde81b9b8b4cd7992559f3ee1f3cd6670f72
Author: t-min
Date: Fri Oct 17 22:43:27 2014 +0900

made html css

commit 75f5879d60431c63639845bce807b067ab2166ab
Author: t-min
Date: Fri Oct 17 22:29:16 2014 +0900

first commit


やっとこさpushできます。

[master]> git push
Counting objects: 5, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 5.08 KiB | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To https://github.com/t-min/bootstrapforfc22clumn.git
75f5879..813bfde master -> master


成功すると[master]の文字色が緑→青に変わります。

[master]> git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean


GitHubで確認すると・・・
t-min/bootstrapforfc22clumn
ちゃんとhtml,cssの2つのファイルが上がってます。
あぁ、ちなみにこのリポジトリ、今現在のこのブログのテンプレなんですが、まぁ使いたい方がいたらご自由にどうぞ。HTMLタグとかCSSの記述に統一性が全く無かったり、インデントが全くシカトされてたりして見難いことこの上ないと思いますが、修正などされる方がいらしたら。まぁ、僕はそのうち修正するかもしれませんししないかもしれません。

というわけで、GitHubの使い方はすこーしだけわかるよーになりました。
あぁ、そういえば、sshの鍵入れてからGUIのアプリの方からやってみたんですが、失敗。その上GitのアプリもShellもAVGに引っかかって警告出されて駆除されそうになるという場面が。だからWindowsはクソだとry
でもGit Shellは結構使いやすいですね。

結論
SSHの鍵おいてから、変更はadd →commit→ push
Windowsのコマンドプロンプトは10TPで見栄え良くなったけどやっぱりクソ。
Windowsの環境がクソ
git覚えろ俺


関連記事
いまさら始めるGithHub & GistでFC2にソースコード貼り付け
久々のテンプレ変更
いまさらながらLinux上(LMDE)からGitHubを使ってみよう
Gitのエラーを直そう object is empty →refs/remotes/origin/master does not point to a valid object!
関連記事
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

コメントの投稿

管理者にだけ表示を許可する
ブログ内検索

カスタム検索

フリーエリア

クリックで救える命がある。

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットのVPS
ConoHaのVPS
WebARENA VPSクラウド
99円レンタルサーバー
【CloudCore VPS】
GMOクラウドのレンタルサーバー
転送量無制限 ABLENET
@WAPPYレンタルサーバー
SPPDレンタルサーバー

カテゴリー+月別アーカイブ

 

アクセスカウンター

現在の閲覧者数:

プロフィール

Author:tmin
PCヲタ。ライト2ちゃんねら。
スロット好きのギャンブラー。(元
むしろ人生がギャンブルだが目下のところ負けっぱなし。
座右の銘は「結果オーライ」。故に基本適当。
トラブルもまた楽しみのひとつ

コメント、トラバ、相互リンク歓迎。お気軽にどうぞ。
当ブログについて
Twitterでこっちとあっちの更新情報流すことにしてみます。
http://twitter.com/t_min
Project Mikunchu♪Wikiできました。
Mikunchu200x40.png


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。