3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

既存のCodeCommitのリポジトリに一括でファイル、フォルダ群をpushする

Posted at

やりたいこと

CodeCommitにアクセスできない環境で開発を実施していて、あるタイミングでそのファイル群をリポジトリにpushしたいということがありました。
意外とハマったので記事にします。やりたいことを箇条書きにすると、以下となります。

  • 渡されたzipファイルを、解凍してCodeCommitにpushしたい
  • 既にCodeCommitにはリポジトリが作成されており、その中で更新したいファイルがzipに固められている
  • サブフォルダもあるので、GUIでのpushはきつい

方法

Cloudshellでzipファイルを解凍して、cloneしてきたフォルダにコピーして、pushします。

Cloudshellでzipファイルをuploadする

ブラウザでコンソールにログインして、Cloudshellをクリック。
その後、右上の「Actions」→「Upload file」をクリックして、zipファイルをアップロードします。
image.png

ちなみに、アップロードしたファイルは/home/cloudshell-userにアップロードされます(デフォルトのユーザー名の場合)。

zipファイルを解凍する

unzipコマンドでここに解凍します。

unzip filename.zip

更新したいリポジトリのHTTPSのアドレスをコピー

git cloneするために、CodeCommitのコンソールからコピーしてきます。
対象のリポジトリのHTTPSをクリックします。
image.png

クローンする

Cloudshellで、git cloneしましょう。
リポジトリが、Cloudshell環境上にコピーされてきます。
(以下のコマンドのcodecommit~~~repositoryの部分は、ご自身の環境のリポジトリのHTTPアドレスに変更してください)

git clone codecommit::ap-northeast-1://xxxxxx-repository

コピーする

ここが重要ポイント
zipから解凍したフォルダを、クローンしてきたリポジトリにコピーします。
コピーなので、元々リポジトリ内にあったファイルが削除されることはなく、新規作成と更新のみ実行されます。

  • rTオプションは、大文字小文字間違えず入力してください。
    • rオプションはサブディレクトリも含めて再帰的にコピーします。
    • ただ、これだけだとコピー先がディレクトリの場合、その下にコピー元ディレクトリをコピーしてしまいます。
    • これを避けるために、Tオプション(大文字)もつけます。
    • 以下のQiitaが分かりやすいです。
    • https://qiita.com/mangano-ito/items/87d269325ff29c95f0ef
  • コピー元、コピー先はディレクトリを指定してください。
    • /*とか.とかつけなくてよいです。
cp -rT /home/cloudshell-user/src /home/cloudshell-user/xxxxxx-repository

gitコマンドでpush

あとは、クローンしたディレクトリ内に移動して、以下のコマンドを実行します。

git add .
git commit -m "sample comment"
git push

おわりに

cpコマンドやmvコマンドで結構試行錯誤しました。
mvコマンドだと、サブディレクトリ内の更新ができないので、cpコマンドで実行することをお勧めします。
Linuxの基本コマンドは、まだまだ知らないことだらけや・・・。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?