git clone

git

clone
●疑問あり
cloneだけど、自分のリモートリポジトリからで自分のその登録名とパスワードでなら自分の環境が他のPCなだけで当然pushできる・・・。つまり他のIDとパスワードでというのはどうなんだろう。sshでのgit://云々もあるし。何だか混乱するな。

—————————————————————–
会社のラズパイで登録したリポジトリに家からアクセス
以下でクローンはダウンロードされた。最後にディレクトリを指定するとそこに作ってくれるが今回は直下にディレクトリ含めコピーした。
Userとすれば、windows10:kuroyan9639

c>git clone git://github.com/kuroyan/gittraning.git
※Windwos10では隠しファイルを有効にしないとエクスプローラーで「.git」が表示されない。
c>cd gittraning
C:gittraning>ls
index.php
C:gittraning>ここでindex.phph編集して
C:gittraning>git add .
C:gittraning>git commit -m “add by home”
C:gittraning>git push -u origin master
fatal: remote error:
You can’t push to git://github.com/kuroyan/gittraning.git
Use https://github.com/kuroyan/gittraning.git
PS C:\Users\m_kur\gittraning> git push -u origin master
fatal: remote error:
You can’t push to git://github.com/kuroyan/gittraning.git
Use https://github.com/kuroyan/gittraning.git

ここで撥ねられた
.git内の「config.」内「url = git://」を以下に修正
[remote “origin”] url = https://github.com/kuroyan/gittraning.git

C:gittraning>git push -u origin master
ここで以下のポップアップが表示される。
会社とは別のところで作業もありだから、作ったときと同じユーザー名とパスワードを入れる
表示が消えコマンドプロンプトが以下になる。

C:\Users\m_kur\gittraning> git push -u origin master
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 306 bytes | 153.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Resolving deltas: 100% (1/1), completed with 1 local object.
To https://github.com/kuroyan/gittraning.git
9a41a46..dfd67a1 master -> master
Branch ‘master’ set up to track remote branch ‘master’ from ‘origin’.
PS C:\Users\m_kur\gittraning>
WEBでこのリポジトリのソースを見ると更新されている。
pull requestが上がってるか?(会社でやらないと分からない。macで別ユーザーでやってみるか)

もう一度ソースを編集してpushすると同じように更新されている。さらにここでソースを変更してみる。そして以下実行すると差分が表示された。
>git diff
sourceTreeでやってみおうと見たがbitbucketになってるので、gitguiを使用してみる。
あれこれやってると、pushできた。リモート先云々はhttpsだとDOS窓と同様なようだから、問題なくできるからこちらが結構いいかもしれない。
使い切るならという感じかな。sourceTreeは重いとある。使ったことはあるからビジビリティでは文句なしだが。会社のsourcereeも動きがおかしいので、GitGuiやってみるか。あまり最初から楽するのもどうかと思うけど、まあ学習方法だから楽するのも否ではない。学習コストというのもある。時間が有限であるという世代ではないから。まあそうは言っても学習で新しいこと覚えるというのは楽しみでもある。
●git diffで文字化け
以下が有効だった。
c>chcp 65001

他にも、漢字がshift-jisでもutf-8でも化ける。
ブラウザでは問題なく表示されている。検索すると以下がヒットした。
PowerShellであればSet-Item env:LANG -Value ja_JP.UTF-8を、
コマンドプロンプトであればset LANG=ja_JP.UTF-8を、
Git Bashであれば(たぶん不要だけど)export LANG=ja_JP.UTF-8を、
それぞれ実行し、環境変数”LANG”を”ja_JP.UTF-8″に設定してみてください。

うまく漢字が表示された。ありがたい。

ほとんどのgitのツール類ではコメントはUTF-8で保存しています。GitHub等もUTF-8であることが前提です。しかし、現在の環境がUTF-8の文字列を表示できるとは限りません。そこでgitコマンドにUTF-8が使えますよと教えてあげる必要があります。それが環境変数”LANG”です。

Windowsでは馴染みが無いかも知れませんが、UNIX/Linuxでは言語やエンコードの環境を教えてあげるための一般的な環境変数です。Gitは元々Linuxカーネルを管理するために作られたこともあり、UNIX/Liunxの流儀に合わせています。なので、”LANG”をみて、UTF-8が使えるかどうかを判断します。

もし、UTF-8が使えないという話の場合は、ASCII文字だけで表示できるようにします。ASCIIに該当しない文字は各バイトを<16進数2桁>という表示にするというルールになります。

なお、commit時についてはプロンプトの文字コード、エディタの設定、gitの設定によってはUTF-8がうまく表示されない書き込まれない場合があります。通常のコマンドプロンプトやPowerShellでgitのコメントを書いたりすることは避けた方が無難です。Git for WindowsのGit Bashを使うか、エディタなどのGit機能を使った方が良いでしょう。

何だかなまた化けてるな。sourceTreeからのCUIからだと化けない。これかな。
●sourceTree
ローカルのリポジトリをドラッグアンドドロップ
リモート先をhttpsで接続
これで使えるようになる。ここでソースを編集して add index –> commit –> push
おお、うまく行った。ブラウザで見ると問題なく更新されている。pushしないとsourceTreeはそのことをpushアイコンに表示してくれる。やはり見えるといこうかは大きい。
sourceTreeからのCUIはすごい。viも入っている。それと「gitk」でGUIでlogが見れる。
●proxy

$git config --global http.proxy http://proxy.example.com:8080
$git config --global https.proxy http://proxy.example.com:8080

これにより ~/.gitconfigに下記が追加される。
.gitconfig

[http]
        proxy = http://proxy.example.com:8080
[https]
        proxy = http://proxy.example.com:8080
[url "https://"]
        insteadOf = git://

 

No tags for this post.
タイトルとURLをコピーしました