Git & Github & GithubActions ナレッジ


機能:特定の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


  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. が出る時

git repository urlがhttpsになっている。
git pushするためにはsshにする必要があるそう。(参考

ほんまにnockty Github Actionsに載せるだけで良さそう!Github Actions 神!!


Job: Github Actions


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


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
node-version: '14'