経緯
いちいちfinderからプロジェクトのフォルダを選択するのが面倒臭く、VSCodeのようにコマンドラインからプロジェクトを立ち上げることが可能か調べてみた。
環境
- Mac OS
- InteliJ 2021.3.1(Ultimate Edition)
操作
idea <立ち上げたいプロジェクト名>
を入力して新規ウィンドウが起動すれば完了です!
Gitをなんとなく使わないようにするために、操作で詰まったこと、やりたいことの対処方法をまとめて、それらを深堀して理解を深めること
git rebase -i HEAD~
(~はさかのぼりたいコミットの数分入力するまたは、~<さかのぼりたいコミットの数字>の書式でも可)git push -f
を実行して完了参考1 pick eafa87e Remove hogehoge pick e4ff1a5 Kick out hogehoge pick 1e5f766 Remove fuga pick e90e305 Fix design for hogehoge pick fc1c368 Work in progress
【 20220318 追記】
ご指摘頂いたため追記しました。
コミットログは一種の「歴史」です。「不要なコミットを取り除きたい」ということは、「歴史を改竄したい」ということに等しいです。
PRに混入している「不要なコミットコミットログ」の程度にもよりますが、「ごめんね」で許されそうな軽微なものであればコメントを書いておわり、で十分だと思います。僕自身も業務でたまにそういう運用をしています。
git rebase BaseBranch
1で一時的に保存したコミットを順番に適用していく(親が違うので、コミットIDも変わる)
rebase --interactive
と同義git commit --amend
でいけます)などを行う事が可能pick:コミットを採用 reword:コミットを採用するがコミットメッセージを変更 edit:コミットを採用するがファイルを修正する squash:一個前のコミットと合体させる fixup:コミットメッセージを変更しない点以外squashと同じ exec:shellでコマンドを実行する
git reflog
で操作歴を見て、戻したいポイントを見つけたらgit reset --hard
今回はここまでです!
お付き合いいただきありがとうございます!!
表題の作業の手順や注意すべきポイント、 自分のエラーの記録などを残すこと。
ローカル:Mac BigSir 11.4 M1 シェル:zsh リモート:Debian11 64amd シェル:bash
usermod -G wheel <既存の一般ユーザー>
usermodコマンドはユーザーのホームディレクトリやグループ、パスワードなどを変更するためのコマンドです。
どうやらwheelグループが存在しないようで、代わりにsudoが存在しています。Debianにはwheelがデフォルトで存在しないため作成する必要があるそうです。
https://atmarkit.itmedia.co.jp/ait/articles/1612/14/news022.html
http://hnakamur.blogspot.com/2008/12/debianwheel.html
とりあえずまずは一般ユーザーがsudoを使えれば良いので、usermod -G sudo <ユーザー名>
でいきます
一般ユーザーにログインし直して、適当なファイルを作成し、sudo chmod 777 hogehoge
的なコマンドを叩いてsudoが使えることを確認します
/etc/ssh/sshd_config
ファイルを開きます
PermitRootLogin no
:rootユーザーでのログインを禁止
Port <任意のポート番号>
:ポートをデフォルトから変更(ウェルノウンポートと被らないように注意)
ファイルを保存した後、sudo systemctl restart ssh
で設定の変更を反映
サーバー側に~/.ssh
ディレクトリを作成し、sudo chmod 755 ~/.ssh
でパーミションを変更する
クライアント側(今回だとローカル環境)に~/.ssh
ディレクトリを作成し、sudo chmod 700 ~/.ssh
でパーミションを変更する( ここのパーミッションが重要 )
パスフレーズなどは設定せずに生成し、添付画像のようになっていればOKです
続いて、scp -p <設定したポート> id_ed25519.pub <root以外のユーザー名>@49.212.179.153:~/.ssh/
コマンドで生成した公開鍵(.pubの方)をリモートサーバーに転送します。
リモートサーバーの~/.ssh/
ディレクトリ配下に公開鍵がコピーされていればOKです
サーバに転送した公開鍵のパーミションをsudo chmod 600 <鍵名>
に変更( OpenSSHでは~/.ssh/内のファイルがモード600[ユーザーのみ読み書き可能]でないと使用できないため )
ssh -i ~/.ssh/id_ed25519 -p <設定したポート> <root以外のユーザー名>@<ホスト>
で接続試行し、ログインできればOKです
/etc/ssh/sshd_config
ファイルを開きますPasswordAuthentication
をno
にしますsudo systemctl restart ssh
を実行しますクライアント側でssh -i ~/.ssh/id_ed25519 -p <設定したポート> <root以外のユーザー名>@<ホスト>
で接続試行すると。。。
Permission denied (publickey).
と突然怒られました。。。Damn...
~/.ssh
直下にtouch
コマンドでauthorized_keys(接続を許可する公開鍵を登録しておくサーバー側のファイル)を作成sudo chmod 600 authorized_keys
コマンドでパーミションの変更/etc/ssh/sshd_config
ファイルを開きますAuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
のコメントアウトを外しますsudo systemctl restart ssh
を実行しますssh -vT <ユーザー名>@<ホスト>
で(-v:ログ出力、-T:疎通確認)今回はここまでとなります!
お付き合い頂きありがとございます!
敬遠されがちなVimと是非ともお近づきになって、テキストエディタ何使ってますか?「Vim」です(ドヤァ)ってなること
~/.vimrc
set clipboard=unnamed,autoselect
unnamed:ヤンクしたテキストそのままクリップボードにコピー
autoselect:vim上でハイライトして選択したテキストがクリップボードにコピー
https://ylabdesk.com/vim-copy-paste
syntax on
set
number
set cursorline
source ~/.vimrc
シェル上でvimtutorコマンドを叩いてみると主要な機能を網羅した素晴らしいチュートリアルが始まります(最初に言え)
Linuxの基本的な構成などを体系的にまとめること
カーネルの役割 メモリー管理:どの程度のメモリーが、何をどこに保存するために使用されたか、追跡します。 プロセス管理:どのプロセスがいつ、どれだけの期間、中央処理装置 (CPU) を使用できるかを決めます。 デバイスドライバー:ハードウェアとプロセスの間の仲介者/通訳として機能します。 システムコールとセキュリティ:プロセスからサービス要求を受け取ります。
引用:新しいLinuxの教科書
ディレクトリ毎の役割
引用:新しいLinuxの教科書
apt-get
と apt-cache
参考:
下記書籍のポイントをかいつまんでまとめること。
この記事を振り返り内容を復習すること。 これらを解決するにはまず問題を全体として捉えるのでは無く整理、分解することが重要 特に、 what(目指す機能的な不可視性を解決する)とhow (コミュニケーションの不可視性を解決する)が重要 従来の各工程を他と交わらずに進める開発スタイルをリレー競争型と表現し、 スクラムは各工程が次工程とオーバーラップするように開発を進めるスタイルを指す 2人のリーダーが存在することが特徴 ロールと役職は別物 検査と適応で変化に順応する スプリント リリーススプリント スプリントプランニング デイリースクラム スプリントレビュー スプリントレトロスペクティブ目的
読者のレベル感
ソフトウェア開発の困難にスクラムで立ち向かう
ソフトウェア開発を困難にする要因
スクラムとは?
スプリント
役割
スクラムで立ち向かう
スクラムにおけるロール
プロダクトオーナー
開発チーム
スクラムマスター
スクラムイベント