Gitが自分のGithubにリンクする(1)簡単なスタート

4514 ワード

長い間物をいじっていなかったので、今日帰ってきてGitを取ってからubootとkernelのコンパイルを書き続け、バージョン管理の下で毎回の変化をもっとマクロ的に観察しました.
 
1、ubuntuにgitをインストールする
$ sudo apt-get install git git-core

2、自機のgitを配置する
$ git config --global user.name "abcd"

$ git config --global user.email [email protected]

3、鍵の生成
$ ssh-keygen -t rsa -C "[email protected]" //    

4、鍵の発行
vim /home/linx/.ssh/id_rsa.pub //       

githubページに自分のアカウントにログインし、account settingでSSH KEYがコピーした鍵を見つけて加入する(githubのパスワードを再入力する必要がある)
5、githubがリンクされているかどうかを確認する
$ ssh [email protected]

//

PTY allocation request failed on channel 0

Hi plinx! You've successfully authenticated, but GitHub does not provide shell access.

Connection to github.com closed.

6、初回プッシュ
$ mkdir tmp      //      

$ cd tmp         //          

$ git init       //        

$ touch README   //  readme

$ git add README //      

$ git commit -m 'first commit' //      

$ git remote add origin [email protected]:abcd/tmp.git //   Git   origin

$ git push -u origin master //      

それからいろいろな問題がここから始まりました.以下、解決方法について話します.
 
問題1:
ERROR: Repository not found.

この問題は、あなたが送ったgithubアカウントに、このRepositoryがないからです.
解決方法:
1)自分のgithubのRepositoryをチェックし、自分が作成したディレクトリをチェックし、両者が一致しなければならない.
2)git cloneでgithubのRepositoryを降りてから変更すると,必ず一致する.
問題2:
Agent admitted failure to sign using the key. 

Permission denied (publickey)

この問題は、あなたのssh keyがgitのgithubアカウントのssh keyに加入していないため、アクセス権がありません.
解決方法:
1)現在の~/.ssh/idをコピーし直すrsa.pubのssh keyをgithubに追加します.
2)先削除~/.ssh/in_rsa*ファイルを再ssh-keygenでsshkeyを生成し、githubにコピーし、githubにリンクして接続に成功したかどうかを確認します.
問題3:
//      

! [rejected] master -> master (non-fast-forward)

error: failed to push some refs to ...

この問題はgithubにすでにこのコードがあり、それを上書きすることは許されないからです.
解決方法:
1)強制プッシュ、一般的にはお勧めしません!
$ git push -f

  2)
$ git pull

次に、branchとmergeが指定されていないため、gitはプッシュするブランチを選択できません.
.git/configファイルの次の内容を変更できます.
[branch "master"]

    remote = origin

    merge = refs/heads/master

コマンドラインを直接変更することもできます
$ git config branch.master.remote origin

$ git config branch.master.merge ref/heads/master

現在分かっているのはこの3つの問題だけだ.
あとでプッシュに成功します.