質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

解決済

1回答

3982閲覧

gitで管理している内容を一旦、初期状態にし、再度、add, commitする方法

asn

総合スコア20

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

0グッド

1クリップ

投稿2016/11/18 10:33

編集2016/11/18 11:50

gitでinit, add, commitし管理してのですが、その中の一つのファイルを削除し、同じ名前のファイルと当該フォルダに移動したところ、それが取り込まれず、おかしな状態となりました。
一旦、全て初期状態にし、最初から行おうと思うのですが、.gitを削除するだけで良いのでしょうか。
尚、githubにもpushしているので、そのあたりも含め、初期状態にする方法と教えていただければと思います。
宜しくお願いします。

詳細について。
1.目的はgithub pagesでサイトを公開。
2.このため、githubでリポジトリ作成。
3.ssh公開鍵を登録
4.ローカル側(Mac)でgit init
5.フォルダをgithub上のリポジトリに紐付け
$ git remote add origin .....github.io.git
6.commiとpush実施
$ git add .
$ git commit -m "first commit"
$ git push origin master
7.作成物は、index.htmlとcssと画像のみ。
8.アップロードは出来、github pagesで表示も正しくできた。
9.なお、開発作業はgitとは別のフォルダ下で行っていた。
github pagesにアップあうるため、新たにフォルダを作成し、git initした次第。
10.その流れもあって、cssの誤りを作業フォルダ下のソースで行っていた。
11.修正版をgitに反映する際、git管理下のソースを削除し、作業フォルダのソースを移送。
12.その後、add . と commitをしたところ、エラーが発生。
エラー内容はよく把握できていません。
13.pushしたが、github pagesにcssが全く反映されていない状況。
14.ただし、リポジトリは修正版が登録されている模様。
15.git reset --hard 実施後、再度、add とcommitをしなおしたが、状況変わらず。
16.なお、再度、git下のソースを修正し、addとcommitしたが、以下のメッセージあり。
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly. Run the
following command and follow the instructions in your editor to edit
your configuration file:

git config --global --edit

After doing this, you may fix the identity used for this commit with:

git commit --amend --reset-author

17.「12.」でも出ていたような気がします。

原因と対処が知りたいのですが、時間的なこともあり、また、ソースは別フォルダにあるので、一旦、すべて無かったもの、「4.」を行う前の状態にできればと思い、投稿させていただきました。

長文となりすみませんが、以上です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KiyoshiMotoki

2016/11/18 11:00 編集

「おかしな状態となりました」だけでは、状況が分かりません。どのようなコマンドを実行したところ、どのような結果になったのかを、エラーメッセージが表示されたのなら、それを追記してください。 https://teratail.com/help/question-tips#questionTips3-4
KiyoshiMotoki

2016/11/18 11:00 編集

また、貴方の意図する「初期状態」がどのような状態なのかも、具体的に説明してください。さもないと、見当違いな(そして取り返しのつかない)回答が付く可能性があります。具体的には、リモートリポジトリに対して何をしたいのか、ローカルのコミット履歴をどのようにしたいのか、などです。 https://teratail.com/help/question-tips#questionTips3-3
asn

2016/11/18 11:26

済みません。状況を記載します。
退会済みユーザー

退会済みユーザー

2016/11/18 11:57

forceオプションつけるだけでいいと思うが
guest

回答1

0

ベストアンサー

詳細の追記、ありがとうございます。

「4.」を行う前の状態にできれば

ということでしたら、

.gitを削除

で OK です。

ただし、次にGithubに変更をプッシュする際はgit pushコマンドに-fオプションを追加してください。

sh

1git push -f origin master

こうすることで、リモートリポジトリ(Github上のリポジトリ)のコミット履歴が、ローカルリポジトリのもので強制的に上書きされます。
(一度git push -fを実行したら、その次 以降は-fオプション無しで OK です。)


また、

Your name and email address were configured automatically based...

というエラーメッセージが表示される理由は、ローカルリポジトリにGit のユーザー名・メールアドレスが設定されていないためです。
git logコマンドなどでコミット履歴を見ると、コミットした者のユーザー名が Mac のアカウント名になっているはずです)

ローカルリポジトリに移動し、以下のコマンドを実行することで、次回からは発生しなくなるはずです。

sh

1git config user.name "(Githubのユーザー名)" 2git config user.email "(Githubに登録しているメールアドレス)"

もし、お使いの Mac上の全てのローカルリポジトリに同じ設定を適用したいなら、
上記git configコマンドに--globalオプションを付けて、実行してください。


回答からは離れますが、追記いただいた操作内容について、確認させてください。

手順"4."と手順"9."でgit initしたフォルダは、それぞれ別の場所でしょうか?

であれば、それが今回、手順"12."でエラーが発生した原因と思われます。
手順"9."のリポジトリにリモートリポジトリのコミット履歴を取り込まずにファイルを修正し、
プッシュしようとしたように見受けるためです。

もし、↑の通りであれば、asn様はGitの使い方そのものを誤解している可能性があります。
その場合、まずは以下のサイトの"入門編"と"発展編"に、一通り目を通してみることをお勧めします。
http://www.backlog.jp/git-guide/
(サイト名が人をバカにしていますが、他意はないので悪しからずw)

上のリンク、改めて読んでみると、具体的なコマンドの記載が少ない上に(バックログとの連携という)余計な情報も載っているので、かえって分かりにくいかも知れません。

ですので、公式のドキュメントも紹介させていただきます。
https://git-scm.com/book/ja/v2

難しい言葉が多くて大変かも知れませんが、2章と3章を読めば、Git に対する理解が深まると思います。

投稿2016/11/18 12:49

編集2016/11/18 13:13
KiyoshiMotoki

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

asn

2016/11/18 13:16

回答ありがとうございます。 助かりました。 修復は、以下と理解しました。 1. .git 削除 2. git initから(前述「4.」)から実施で、push -f で実行。 また、疑問点についても回答いただき、ありがとうございます。 以下、コメントさせていただきます。 1. 追加操作の件ですが、init は「4.」の1回だけです。それ以前のワークフォルダでは、git 管理で行っておらず、「4.」の時点で移送し、その後、git init しました。ただ、それまでの環境上の経緯もあり、作業をワークフォルダ側で行ったのがそもそもの間違いと認識しています。 2. エラーメッセージの件ですが、このような仕様(ローカルリポジトリにGit のユーザー名・メールアドレスが設定要)は、以前からそうだったのでしょうか? 記載していただいたサイトを参考に勉強したいと思います。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問