Open13

Git & Github & GithubActions ナレッジ

cherry-pick

機能:特定のcommit のみ反映させることができる(参照元

(覚えてる限りの手順)

  1. git log でコミットログの確認。
  2. cherry-pickしたいcommidのidをcopyし、
  3. git switch master
  4. cherry-pickする
    git cherry-pick ${commit_id}
  5. git checkout -b ${new_branch}
  6. git push origin head

大体こんな感じやった。困ればまた調べて色々しよう!

Github Actions

set -xeは失敗したら、failするという意味

# .github/workflows/go.yml
       set -xe

GithubActionsはそのbranchのGithubActionsが走る。

  1. feature/t_user をmainからcheckout -b する
  2. feature/t_userでuser機能を実装
  3. mainのGithubActionsのフローを変える(lintなど)。Githubのmainに適応
  4. mainのGithubActionsでは通るはずのcodeをfeature/t_userからpush する
    1. の時のmainのgithub actionsやから(3.で変わった内容が変更されてない)lintでCI failする。

変更を一旦放置するコマンド

# stash する(一旦変更内容を忘れること)※
git stash save
# 一つ前にstashした内容をもとに戻す。
git stash pop stash@{0} 

git で commit, push できひん時

以下のエラーが起こった時

soradaibu@SoranoMBP crawler % git commit -m "feat:対応"
U       .env
error: Committing is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

git reset head したらいけた。なんか github repository にないやつが
commit(or add)されてないぞ(because you have unmerged files)ってゆわれたから、以下したらいけた。

skyengineer@skyengineerMBP crawler % git reset head

git push で Repository not found. が出る時

<原因>
俺のアカウントにWrite権限がなかった。
git repository urlがhttpsになっている。
git pushするためにはsshにする必要があるそう。(参考

https://qiita.com/Yuuki557/items/5ea3d46b8f6251805c4e

へえー、cronでもスケジューリングできるんや!
ほんまにnockty Github Actionsに載せるだけで良さそう!Github Actions 神!!

このWorkflowは、cronでスケジュールされるか、事前に決めたイベントが生じたときに動き出す

Job: Github Actions

何もせんと同じ階層にあるジョブは並列で実行されると

By default, workflow with multiple jobs will run those jobs in parallel.

npmでbuildして、S3へのデプロイ、とかしてるのはstep

A step is an individual task that can run commands in a job. A step can be either an action or a shell command. Each step in a job executes on the same runner, allowing the actions in that job to share data with each other.

uses は必須キーと。

  • uses: actions/checkout@v2

The uses keyword tells the job to retrieve v2 of the community action named actions/checkout@v2. This is an action that checks out your repository and downloads it to the runner, allowing you to run actions against your code (such as testing tools). You must use the checkout action any time your workflow will run against the repository's code or you are using an action defined in the repository.

uses with で使用する言語のバージョンとかを指定すると。

uses: actions/setup-node@v2
with:
node-version: '14'

作成者以外のコメントは許可されていません