問題タブ [go-git]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - golang git - レポがすでに複製されている場合、再度複製するのではなく、リモート ブランチから最新のものを取得する方法はありますか
一部のデータについて毎日複製する必要があるレポがあります。go-git ライブラリを使用して go-git ライブラリを使用してレポを一度だけクローンし、git pull を使用してレポを更新する方法はありますか?
git - go-git "git サブモジュールの追加 "
TLDR
パッケージのドキュメントと公式の例を精査してきましたが、go-git を使用してサブモジュールを追加する方法を説明する方法がわかりません。git submodule add <url> <submod_name>
スパースチェックアウト用に構成するだけでなく、しようとしています
ゴール
golangのgo-gitパッケージを使って以下のリストを変換したいです。私の全体的な目標は、Repo-A からのサブモジュールをまばらにチェックアウトすることです。その後、全体的なレポは Repo-B 用になります。Repo-A からコンテンツを調達し、いくつかの編集を行い、再編成してから、結果を Repo-B にプッシュしようとしています。以下に含めたのは最初のステップ、特にこのレポ + サブモッドを最初から構成する方法です。
✅ git init
✅ git remote add -f <remote_name> <repo_url>
✅ git clone --depth=1 --no-checkout <submod_repo_url> <submod_name>
⬜git submodule add <submod_repo_url> <submod_name>
- これを呼び出す方法がわかりません.gitディレクトリを直接編集することで可能かもしれないと思っていますが、それは面倒です。説明や提案をいただければ幸いです。
⬜git submodule absorbgitdirs
- これが必要かどうかはわかりませんが、それが何をするのかについての適切な説明を見つけることができませんでしたが、どちらの方法でも問題を引き起こさないようですか?
⬜ git -C pinkbrain config core.sparseCheckout true
(注: サブモジュールにのみ適用されます)
- .git構成であるため、これを機能させる方法がわかりませんが、サブモジュールのみです。新しい git.PlainOpen() オブジェクトを作成し、その作業ツリーにアクセスするだけでしょうか?
✅ echo "cir-1" >>.git/modules/<submod_name>/info/sparse-checkout
✅ echo "cir-2" >>.git/modules/<submod_name>/info/sparse-checkout
✅git submodule update --force --checkout <submod_name>
- これには 2 つの別々の呼び出しが必要かどうかわかりませんか?
Worktree.Pull()
&Worktree.Pull()
、以下のコードを参照してください。
✅ git pull <remote_name> main
✅ git add .
✅git commit -S -m "commit example message"
私の質問
- go-git を使用してサブモジュールを追加するにはどうすればよいですか?
- 別途
sw.Checkout(&git.CheckoutOptions
ビットは必要ですか?もしそうなら、どのような順序でそれらを行うべきですか? - メインリポジトリまたはサブモジュールでスパースチェックアウトを構成するにはどうすればよいですか?
- について何か考えはあり
git submodule absorbgitdirs
ますか?それが何であるかについての情報をいただければ幸いです
私がこれまでに得たもの(要約)
注:もっとありますが、私の質問とは関係
ありませgo-git
ん--checkout
git.PullOptions()