This suppose you have a GIN repository that has submodules in it. On the web browser version, you go to the parent repository and get its ssh or gin address. Now, we will make a copy on our computer, and show pull/push actions to/from the local copy and the server copy.
datalad clone sshaddressgin get ginaddressgit clone sshaddressdatalad get -n -r . ## will get submodule data (version linked in parent), git-annexed files not downloaded
datalad update -r --how=merge --follow=sibling # update to the latest version in every submodule
datalad update -r --how=merge --follow=sibling # update to the latest version in every submodule
Note: to get files which were pushed via git annex, you need to use
datalad get -r ., you may define one file or folder instead
of all (.means all), and the -r means it will
do it for submodules too.
datalad save . -r -m 'this is the commit message'
datalad push -r --to origin
NB: save will use git annex unless told to do otherwise. Since we did not create the repo using datalad, it will put everything via git-annex (?) and the configuration files to change that behavior were not created.