Skip to content

CIT-Autonomous-Robot-Lab/pgm_map_data

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pgm_map_data

自己位置推定やナビゲーションに使用するpgm形式のマップを集約するためのリポジトリ。

ディレクトリ構成について

以下のようなディレクトリ構成で集約していきます。

追加する場合は参考にしてください。

 pgm_map_data
 ├── LICENSE
 ├── README.md
 └── ikebe  (アップロードする人の名前)
      ├── tsudanuma   (マッピングした場所)
      │   ├── localization   (自己位置推定用)
      │   │   ├── map_tsudanuma.pgm
      │   │   └── map_tsudanuma.yaml
      │   └── navigation   (ナビゲーション用)  
      │       ├── map_tsudanuma.pgm
      │       └── map_tsudanuma.yaml
      └── tsukuba
         ├── localization
         │   ├── map_tsukuba.pgm
         │   └── map_tsukuba.yaml
         └── navigation
             ├── map_tsukuba.pgm
             └── map_tsukuba.yaml

追加&修正の手順について

基本的に直接pushではなくて、ブランチを切ってPRでmergeするようにしてください。

またmergeについては、squash mergeでお願いします。

具体的な手順

実際に池邉が追加した時の例を交えて手順について説明します。


  1. このリポジトリをクローン(sshでクローンするようにしましょう)
git clone [email protected]:CIT-Autonomous-Robot-Lab/pgm_map_data.git

  1. 追加 & 修正をする

上記のディレクトリ構成のように追加を行いました。


  1. git checkout -b hoge/hogeでブランチを切る 池邉は現在のブランチを表示できるようにしています。 cloneしたばかりだとmasterブランチ(あるいはmain)です。
ikebe@ikebe:~/pgm_map_data (master)$

ブランチを切ってみます

ikebe@ikebe:~/pgm_map_data (master)$ git checkout -b add/ikebe-pgm-map
ikebe@ikebe:~/pgm_map_data (add/ikebe-pgm-map)$

無事masterブランチからadd/ikebe-pgm-mapブランチに切ることができました。 表示して無い場合はわからないと思います。その場合はgit branchで見ることができます。

ikebe@ikebe:~/pgm_map_data (add/ikebe-pgm-map)$ git branch
* add/ikebe-pgm-map
  master

git checkout -b以降のadd/ikebe-pgm-mapってなんだよって思った人がいると思います。 だいたい、追加理由/追加内容って感じです。 例えば、日本語を喋る機能を追加したのであればfeature/speak-japanese、修正したのであればfix/speak-japanese、アップデートしたのであればupdate/speak-japanese、削除したのであればdelete/speak-japaneseです。


  1. git statusで変更内容を確認(とりあえず) このコマンドは割と使います。 現在の修正内容やインデックスに上がってるファイルを知ることが出来ます。

とりあえず打ってみます。

ikebe@ikebe:~/pgm_map_data (add/ikebe-pgm-map)$ git status
ブランチ add/ikebe-pgm-map
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)

追跡されていないファイル:
  (use "git add <file>..." to include in what will be committed)
        ikebe/

no changes added to commit (use "git add" and/or "git commit -a")

新しく追加したikebe/というディレクトリは、まだgitで追跡されていないようです。 これから追跡するようにやります。


  1. git add .あるいはgit add hoge hogehoge hogegegeで変更内容をインデックスに追加

先ほど確認したディレクトリを追跡してくれるようにします。 まずはインデックスに追加します。

ikebe@ikebe:~/pgm_map_data (add/ikebe-pgm-map)$ git add ikebe

追加出来たのかgit statusで確認します。

ikebe@ikebe:~/pgm_map_data$ git status
ブランチ add/ikebe-pgm-map
コミット予定の変更点:
  (use "git restore --staged <file>..." to unstage)
        new file:   ikebe/tsudanuma/localization/map_tsudanuma.pgm
        new file:   ikebe/tsudanuma/localization/map_tsudanuma.yaml
        new file:   ikebe/tsudanuma/navigation/map_tsudanuma.pgm
        new file:   ikebe/tsudanuma/navigation/map_tsudanuma.yaml
        new file:   ikebe/tsukuba/localization/map_tsukuba.pgm
        new file:   ikebe/tsukuba/localization/map_tsukuba.yaml
        new file:   ikebe/tsukuba/navigation/map_tsukuba.pgm
        new file:   ikebe/tsukuba/navigation/map_tsukuba.yaml

追加出来てそうです。


  1. git commitで変更内容をgitに登録(vimでcommitしたい場合はgit config --global core.editor vim)

デフォルトだとgit commit時にnanoエディタが立ち上がってしまいます。

お好きなエディタを登録すると良いです。ちなみにvimがオススメです。(エディタ戦争がはじまる)

インデックスに追加した内容をcommitします。

ikebe@ikebe:~/pgm_map_data (add/ikebe-pgm-map)$ git commit

すると以下のような文字がずらっと出てきます。


# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# ブランチ add/ikebe-pgm-map
# コミット予定の変更点:
#       new file:   ikebe/tsudanuma/localization/map_tsudanuma.pgm
#       new file:   ikebe/tsudanuma/localization/map_tsudanuma.yaml
#       new file:   ikebe/tsudanuma/navigation/map_tsudanuma.pgm
#       new file:   ikebe/tsudanuma/navigation/map_tsudanuma.yaml
#       new file:   ikebe/tsukuba/localization/map_tsukuba.pgm
#       new file:   ikebe/tsukuba/localization/map_tsukuba.yaml
#       new file:   ikebe/tsukuba/navigation/map_tsukuba.pgm
#       new file:   ikebe/tsukuba/navigation/map_tsukuba.yaml
#
# Changes not staged for commit:
#       modified:   README.md

一番上にコメントを追加します。

一番最初は大文字にしましょう。commitの内容についてコメントすれば良いです。

Add ikebe pgm map
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# ブランチ add/ikebe-pgm-map
# コミット予定の変更点:
#       new file:   ikebe/tsudanuma/localization/map_tsudanuma.pgm
#       new file:   ikebe/tsudanuma/localization/map_tsudanuma.yaml
#       new file:   ikebe/tsudanuma/navigation/map_tsudanuma.pgm
#       new file:   ikebe/tsudanuma/navigation/map_tsudanuma.yaml
#       new file:   ikebe/tsukuba/localization/map_tsukuba.pgm
#       new file:   ikebe/tsukuba/localization/map_tsukuba.yaml
#       new file:   ikebe/tsukuba/navigation/map_tsukuba.pgm
#       new file:   ikebe/tsukuba/navigation/map_tsukuba.yaml
#
# Changes not staged for commit:
#       modified:   README.md

  1. git push --set-upstream origin hoge/hogeでGitHubにpush

いよいよgit pushです。

まだ今回作成したブランチはGitHub上に無いのでgit push すると、以下のような文が出力されます。

ikebe@ikebe:~/pgm_map_data (add/ikebe-pgm-map)$ git push
fatal: The current branch add/ikebe-pgm-map has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin add/ikebe-pgm-map

出力された文の通りに実行するとpushできます。

ファイル制限のワーニングが出ていますが。 pushできてるのでヨシッ!(なんでヨシって、言ったんですか。。)

ikebe@ikebe:~/pgm_map_data (add/ikebe-pgm-map)$ git push --set-upstream origin add/ikebe-pgm-map
Enumerating objects: 16, done.
Counting objects: 100% (16/16), done.
Delta compression using up to 8 threads
Compressing objects: 100% (15/15), done.
Writing objects: 100% (15/15), 2.71 MiB | 1.16 MiB/s, done.
Total 15 (delta 3), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (3/3), completed with 1 local object.
remote: warning: See http://git.io/iEPt8g for more information.
remote: warning: File ikebe/tsukuba/localization/map_tsukuba.pgm is 63.63 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: warning: File ikebe/tsukuba/navigation/map_tsukuba.pgm is 63.63 MB; this is larger than GitHub's recommended maximum file size of 50.00 MB
remote: warning: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: 
remote: Create a pull request for 'add/ikebe-pgm-map' on GitHub by visiting:
remote:      https://github.com/CIT-Autonomous-Robot-Lab/pgm_map_data/pull/new/add/ikebe-pgm-map
remote: 
To github.com:CIT-Autonomous-Robot-Lab/pgm_map_data.git
 * [new branch]      add/ikebe-pgm-map -> add/ikebe-pgm-map
Branch 'add/ikebe-pgm-map' set up to track remote branch 'add/ikebe-pgm-map' from 'origin'.

  1. GitHub上でブランチが追加されていることを確認

CIT-Autonomous-Robot-Lab/pgm_map_data

Image from Gyazo


  1. PRを作成する

Image from Gyazo

Image from Gyazo


  1. squash mergeを行う

Image from Gyazo

Image from Gyazo

Image from Gyazo


  1. ブランチを削除する

Image from Gyazo


  1. でけた!

Image from Gyazo


  1. masterブランチを更新する

これで完了。と思いましたか?

まだ手元にあるPCの方のmasterブランチは更新されていません。

せっかくなので次に修正や追加する時のためにgit pullをして更新をしましょう。

まずはmasterブランチに移動します。

ikebe@ikebe:~/pgm_map_data (add/ikebe-pgm-map)$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.

ikebe@ikebe:~/pgm_map_data (master)$

masterに切り替えることができました。 ということでgit pullをして更新します。

ikebe@ikebe:~/pgm_map_data (master)$ git pull
remote: Enumerating objects: 16, done.
remote: Counting objects: 100% (16/16), done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 15 (delta 3), reused 14 (delta 3), pack-reused 0
Unpacking objects: 100% (15/15), 2.71 MiB | 1.99 MiB/s, done.
From github.com:CIT-Autonomous-Robot-Lab/pgm_map_data
   40af2ae..aa37fe0  master     -> origin/master
Updating 40af2ae..aa37fe0
Fast-forward
 ikebe/tsudanuma/localization/map_tsudanuma.pgm  | 1183 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ikebe/tsudanuma/localization/map_tsudanuma.yaml |    7 +
 ikebe/tsudanuma/navigation/map_tsudanuma.pgm    | 1158 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 ikebe/tsudanuma/navigation/map_tsudanuma.yaml   |    7 +
 ikebe/tsukuba/localization/map_tsukuba.pgm      |  302 ++++++++++++++++++
 ikebe/tsukuba/localization/map_tsukuba.yaml     |    7 +
 ikebe/tsukuba/navigation/map_tsukuba.pgm        |  286 +++++++++++++++++
 ikebe/tsukuba/navigation/map_tsukuba.yaml       |    7 +
 8 files changed, 2957 insertions(+)
 create mode 100644 ikebe/tsudanuma/localization/map_tsudanuma.pgm
 create mode 100644 ikebe/tsudanuma/localization/map_tsudanuma.yaml
 create mode 100644 ikebe/tsudanuma/navigation/map_tsudanuma.pgm
 create mode 100644 ikebe/tsudanuma/navigation/map_tsudanuma.yaml
 create mode 100755 ikebe/tsukuba/localization/map_tsukuba.pgm
 create mode 100755 ikebe/tsukuba/localization/map_tsukuba.yaml
 create mode 100755 ikebe/tsukuba/navigation/map_tsukuba.pgm
 create mode 100755 ikebe/tsukuba/navigation/map_tsukuba.yaml

更新できました。ということで以上が基本的なgitGitHubでの開発フローです。

まだまだ、gitGitHubには色んな機能があるので気になったら調べると良いです。

ちなみに、以前PRに使用した同じブランチで別のPRを出すと面倒くさいことになるので、 名前は被らないようにすると良いです。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •