更新がある場合、git repoをチェックしようとしています。 私は私のUbuntuサーバにログインしたときにこれを実行する必要があるので、私は、私はそれが私にcd
になっている、次のBashログイン時にGitのアップデートを確認する
で/etc/update-motd.d/90-updates-availableスクリプトを変更すると考えましたレポが見つかるとそれをレポし、それをリモートレポと比較します。リモートが新しい場合は通知を印刷します。私は、マシンへのログイン上にある、どんな..見つけることないのです何
#!/bin/sh
stamp="/var/lib/update-notifier/updates-available"
[ ! -r "$stamp" ] || cat "$stamp"
cd $(find/-wholename '*-Commander*/.git' | xargs -n 1 dirname)
UPSTREAM=${1:-'@{u}'}
LOCAL=$(git rev-parse @)
REMOTE=$(git rev-parse "$UPSTREAM")
BASE=$(git merge-base @ "$UPSTREAM")
echo "----------------------------------------------------------"
echo ""
if [ $LOCAL = $BASE ]; then
echo "Repo Need to be Updated"
MEM=$(free -m | grep -oP '\d+' | head -n 1);
if [ $MEM -lt 2048 ]; then
echo "Low Mem Check"
fi;
fi;
echo ""
echo "----------------------------------------------------------"
が、それはまだそれが最新のものである場合でも、Repo Need to be Updated
示しています。
レポはsudoer
として取得されましたが、マシンにログインすると最初は通常のユーザーとしてログインします。
私は間違っていますか?
あなたは 'git'を使い始めたばかりの人にギリシャ語を話しています。私は本当に自分の変更を引き出し、コミットし、プッシュする方法しか知りません。それだけです。 – Kevin
@ケビンあなたが理解していないことや理解していることをより具体的にするなら、答えを出すことができます。あなたは単に 'pull'、' commit'、 'push'を知っていると言いますが、あなたの例でもっと高度なgitコマンドを使用していたので、あなたはそれをもっとよく理解していると思いました。たぶん、まずgitについてもっと学ばなければならないかもしれません:)このトピックではgitの動作を説明することはできません。 – MBI
@Kevin実行すべき変更を要約するには、 'git fetch'を追加し、等価チェックを非等価チェックに変更し、' LOCAL'と 'REMOTE'を比較してください、' BASE'を使う理由はありません。 – MBI