

git初心者です。  
フォルダでgit_initをして、git add -Aをして、git
commitをするわけですが、そこでgit_ignoreでDS_Storeを消して、git remote add
originでリモートリポジトリのurlを引っ張ってきてgit pushしようとしたのですが上手くいきません。

git
cloneではリモートのコピーだけのはずですので、そこにデータを入れた後に単純にpushするのではないと思われます。また、新しくフォルダをつくって、git
initから始めているので、remote add originというコマンドは必要のはずです。  
一度、ケルベロス認証を確認して下さいとでましたが、kinitコマンドをうって再度同様の手順を繰り返しても上手くいきません。could not read
from repositoryとでますが、git push origin masterと打っても同じメッセージがでます。

僕が聞きたいのは、具体的にgit pushするまでの確実な手順です。  
単に新しいフォルダの中身をpushするまでの流れで、configやkinit、.git_ignoreなどを打たなければならないことは分かっています。  
ですが、詳細な手順はインターネットを探しても見つかりませんでした。  
GUIではなく、コマンドラインで打つ場合の詳細な手順を教えていただけないでしょうか？

他の人に聞くとconfigやリポジトリ名のことだと言われたのですが、リポジトリ名はurlを変えてはいないのであり得ないですし、configを設定しても上手くいきません。自分の設定や考え方が何処かで間違っている可能性も捨てきれませんので、詳細な手順を説明いただけると幸いです。


CC BY-SA 4.0
2020-01-12T01:20:07.773
62177
2020-01-13T23:55:07.507
2020-01-12T04:34:18.240
3060
37176
question
git
gitでpushができない。


下記は git の使い方に問題がある場合の説明ですが、質問者の 環境の  
シングルサインオンの Kerberos認証 の問題な気がします。  
まず 環境での Kerberos認証の問題なのか git の使い方の問題なのか切り分けが必要でしょう。

### 環境（Kerberos認証）の問題である場合

まずは、サーバーとコンピュータの時計の時間がずれていないことを確認します。  
数分ずれていると認証エラーとなります。

[windowsログオン認証についてのメモ](http://windows%E3%83%AD%E3%82%B0%E3%82%AA%E3%83%B3%E8%AA%8D%E8%A8%BC%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AE%E3%83%A1%E3%83%A2)

> Kerberos認証ではトラブルが起きるとデバックが難しい。これはKerberos認証がもつ安全性の高さとのトレードオフでもある。

とあるよう認証の問題は調査が難しいでしょう。利用している環境が何か？ `Active Directory` と `GitLab` を組み合わせて
パスワードを一元管理している・・。等。

> 新しくフォルダをつくって、git initから始めているので、remote add originというコマンド

`git init` から始めるのではなく `git clone` から始めてみてください。  
もっと違う何かがわかるかもしれません。

今まで利用できていたのにパスワードを変更してから、利用できなくなった等の問題があるのであれば、git クライアントが保管する認証情報の問題かもしれません。

### git の使い方問題である場合

私の周りで `git push` がエラーできないと言っている git 初心者の 9割以上の人は

下記のような `reject` エラーが発生しているパターンでした。

[code]

    # John のマシン
    $ git push origin master
    To john@githost:simplegit.git
     ! [rejected]        master -> master (non-fast forward)
    error: failed to push some refs to 'john@githost:simplegit.git'
    
[/code]

[Git-での分散作業-プロジェクトへの貢献](https://git-
scm.com/book/ja/v2/Git-%E3%81%A7%E3%81%AE%E5%88%86%E6%95%A3%E4%BD%9C%E6%A5%AD-%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%B8%E3%81%AE%E8%B2%A2%E7%8C%AE)
より引用

もしそうであれば

[code]

    git fetch origin
    git merge origin/master
    
[/code]

として `confrict` エラーが発生しなければ `git push` できるようになります。

残りの 約 1割 のパターンは 同じソースの同じ部分を同時に別の人が修正したため  
`confrict` （衝突） が発生しいているパターンです。

プロジェクトの方針にもよりますが、それぞれの開発者から修正内容をヒアリングしながら  
採用する修正を取捨選択して `commmit` します。  
その内容で 再度 動作確認をやり直します。

それで `push` できるようになります。

まず、どのようなエラーが発生したのか質問に追記してください。


CC BY-SA 4.0
2020-01-12T07:37:23.630
62183
2020-01-13T23:55:07.507
2020-01-13T23:55:07.507
18851
18851
62177
answer