🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Git

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

Q&A

解決済

2回答

1949閲覧

Git:ローカルでバージョン管理したいが、pushしたくないファイルがある時の対応

MagMag

総合スコア80

Git

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

0グッド

0クリップ

投稿2020/11/30 00:16

GitとGithubを使って、複数人で開発を行っています(Python)。

このとき、あるファイルをリモートレポジトリーにはpushせず、ローカルでのみバージョン管理する方法はありますでしょうか?

質問の理由として、プロジェクトファイルはJupyterファイルで管理しています。一方、自分はpyファイルの方が使いやすいので、相互変換して作業しています。このとき、更新したJupyterファイルはPushする必要があるのですが、pyファイルはリモートにアップする必要はありません。

一方、pyはローカルでバージョン管理を行いたいので、git ignoreしてしまうと、ローカル管理もできなくなってしまいます。

この場合の対応方法はありますでしょうか?

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

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

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

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

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

guest

回答2

0

Jupyterファイルが置かれているフォルダでは.gitignoreでpyファイルを無視するようにしておき、pyファイルをハードリンクかシンボリックリンクで別フォルダに置いて、その別フォルダを独自にgit管理するという方法はどうでしょうか?

投稿2020/11/30 04:17

ku__ra__ge

総合スコア4524

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

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

MagMag

2020/12/04 05:51

なるほど、そういう方法もあるのですね。ありがとうございました!
guest

0

ベストアンサー

新たなブランチを作成して、そちらで管理するのが良いかと思います。
最終的にマージする事も可能ですし、Git上でバージョン管理もできます。
但し、ブランチ作成時の命名規則を決めないと、不明なブランチが乱立してしまう為注意が必要です。

投稿2020/11/30 00:25

K_Y_M

総合スコア100

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

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

MagMag

2020/11/30 01:47 編集

早速ありがとうございます。理解が足りていないのですが、ブランチでローカルファイル(pyファイル)を更新して、pushする時はマージしてローカルファイルをgit ignoreで無視してから、共有ファイル(jupyterファイル)をpushする、ということでしょうか、、、?
K_Y_M

2020/11/30 02:12

新規のブランチには、気にせずPUSHして頂いて大丈夫です。 新規ブランチから、既存のマスターブランチにマージする際に、 除外したいファイルを無視する様にすれば良いかと思います。 ブランチの運用につきましては、以下のサイトが参考になりますよ。 https://backlog.com/ja/git-tutorial/stepup/01/
MagMag

2020/12/04 05:51

なるほど。やってみます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問