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

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

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

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

2回答

7631閲覧

Sourcetree 差分のないファイルもタイムスタンプが更新されたら変更ファイルとして認識させる

tera_questioner

総合スコア7

SourceTree

SourceTreeは、Gitのクライアントツール。視覚的に操作するGUI形式でGitの操作が容易になります。MacやWindowsなどのOSに依存しておらず、PC環境に合わせてインストールすることが可能です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

2クリップ

投稿2017/11/30 08:13

###前提・実現したいこと
SourcetreeでGithub管理をしています。
変更された可能性のある複数ファイルをローカルのリポジトリに上書きし、Sourcetree上で差分を確認することで、変更点、または変更がなかったことを確認しています。
変更のあったファイルもなかったファイルもプッシュし、履歴を残したいと思っています。

###発生している問題・エラーメッセージ
差分のないファイルは「変更ファイル」として認識されず、コミットできない状態です。
ファイルのタイムスタンプを認識するなどして、差分のない更新ファイル(上書きしたファイル)も拾い上げてプッシュしたいのですが、可能でしょうか。

###該当のソースコード

###試したこと
現状、各ファイルの中身に固有のIDを書き加えることで、無理やり変更点を作っています。

###補足情報(言語/FW/ツール等のバージョンなど)

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

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

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

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

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

CHERRY

2017/11/30 08:31

なぜ、更新していないファイルも commit したいのでしょうか?
tera_questioner

2017/12/01 02:17

差分確認しているのは他の作業者から受け取ったファイルです。受け取った時点で、変更がなくても「確認済み」の意味を持つため、その履歴を残し、またそれをリポジトリを共有しているチームメンバーにも知らせる必要があるのです。。
guest

回答2

0

こんにちは。

gitは、管理対象ファイルの「中身」から一意なハッシュを生成することで、ファイルの同一性の検証や変更点の管理を行っており、更新日時等はそもそも全く管理していないため、原理的に不可能です。
ところで、変更していないファイルを「変更したファイル」として扱いたいと言う意図が全く掴めません。gitは「どこが変更されたか」を管理するもので、逆に言うと、変更されていないものが「同一である」ことを保証できるところにメリットがあるのです。変更されていないファイルはpushするまでもなく「既にpush済み」ということになっています。gitの本来の目的とは異なる用途に利用しようとしているように見えますが、なにを実現したかったのかもう少し詳しい情報があれば細かい回答ができると思います。

投稿2017/11/30 09:18

tamoto

総合スコア4105

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

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

tera_questioner

2017/12/01 02:27

ご回答ありがとうございます。 作業対象であるファイルは、変更がなくても「確認済み」の履歴を残す必要があり(定期的に更新が必須なファイルのため)、それをリポジトリを共有しているチームメンバーにも自動的に知らせることが目的でした。 しかし更新日時は管理外なのですね。教えていただき、ありがとうございます。
guest

0

ベストアンサー

こんにちは。
差分のないファイルもコミットしたいとのことですが、上の方も記載しているとおりGitの利点を考えると望ましくありません。
もし、実現するとしたら
・サーバーに上がっているものを初期状態に戻してpushする
・すべてのファイルの末尾に空文字やIDを追加してpushする(既に行われていますね)
・新しいbrunchを切って、すべてのファイルを削除してpushする
というような、対応が必要です。
要は、source treeに何かしらの変更があったと思わせればいいのですが、非常に手間だと思います。
末尾にIDの更新であればbatや一括置換、grepで対応できるので負荷は少ないです(既にIDが記載されている前提)

蛇足ですが、
master brunchとは別にbrunchを切って運用するのが何かあったときに助かると思います。

投稿2017/12/05 10:23

kpiyohiko

総合スコア658

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

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

tera_questioner

2017/12/06 00:28 編集

ご回答ありがとうございます。 やはりgit本来の用途とは違うため、実現には毎回の手間が発生してしまうのですね。 頻繁に差分のないファイルが上がってくる状態にありますので、ひとまず、新しく上がってきたファイルには固有のIDを自動挿入し、差分を作り出してコミットする方法を継続したいと思います。 (brunchを切る運用は、更新頻度が高く、リポジトリに入れたファイル数が非常に多いこともあり向いてなさそうです。) 差分のないファイルを含めた確認履歴に関しては、別途ログを残す方法を検討します。 具体的な選択肢を与えてくださり、ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問