Open sktometometo opened 1 year ago
@k-okada @mqcmd196 @tkmtnt7000 @nakane11
あらかた同意です.で,今 /home/fetch/ros/melodic/src
以下にブランチ切ってコミットすると git branch -D
されてgit reset --hardされるようで,その仕様までは知りませんでした.なのでこれは普通に git checkout develop/fetch
にするだけに変更したらいいと思います.
これはもともと develop/fetch
が diverged した際に remote の develop/fetch
を確実にcheckoutするための仕様なのだけど、diverged したときのみ branch -D して checkout したい
diverged したときに branch -D
する理由って何でしょうか?そのまま git checkout develop/fetch
したらいいだけだと思いますが
local に diverge 前の develop/fetch
あったらリモートの develop/fetch
checkout 出来ないよね
update_workspace.sh
の仕様と毎日どういう機能を回すかはちょっと話変わるから https://github.com/jsk-ros-pkg/jsk_robot/pull/1808 かあたらしい issue で話そう
すいません,
local に diverge 前の develop/fetch あったらリモートの develop/fetch checkout 出来ないよね
は正しくて,言いたかったことは,今起きている状況として
/home/fetch/ros/melodic/src
で自分でなにかブランチを切って作業してコミットするgit checkout develop/fetch
したらいいだけじゃないか,ということでした.間違えて develop/fetch
にコミットしてしまった,というものについてはstashしたらいいんじゃないかと思います
develop/fetch
環境についての説明 ( https://github.com/jsk-ros-pkg/jsk_robot/pull/1593 のブランチを基準としたワークスペースやロボット構成 )Fetch は master にマージされていない機能や修正を常時有効化して動作させるために、 master とは別に
develop/fetch
ブランチからなる develop 環境が存在し、Fetch実機の体内環境はこのブランチをベースに構成されています。How to contribute to
develop/fetch
branchHow to develop internal environment in Fetch
2つの方法がある
1. 自分のワークスペースを作る
基本的にはこの方法をとり、こちらでは実験できないことを行う際には2番の方法を取る。
catkin workspace の
extends
機能を使って、 fetchユーザー以下にあるmelodic
ワークスペースを継承するワークスペースを作って使用するのがおすすめ. (cf. https://catkin-tools.readthedocs.io/en/latest/verbs/catkin_config.html#explicitly-specifying-workspace-chaining)これで,
fetch
ユーザー以下のros/melodic
ワークスペースを継承するワークスペースを作成できた。catkin config
するとExtending
のフィールドが以下のようになっているのが確認できるはず。2.
/home/fetch/ros/melodic
ワークスペースを使う自動起動するワークスペースを変更して開発を行う場合はこちらの方法。 Fetchのデフォルトの挙動へ影響を及ぼすのでこちらの方法を取る場合は注意
基本的にローカルのブランチへ直に作業せず、自分の作業ブランチをきってから作業すること。
注意点:
cron で
update_workspace.sh
をこのワークスペースに対して毎日動作させているため、remote へ push しないで開発していると local の変更はリセットされたり削除される可能性があるので注意。