git自動提交腳本


每次在linux都要重新一遍一遍敲着這些重復的代碼,我想着能夠優化一下,做個一鍵腳本,減少重復勞動。

#!/bin/bash
git status
 
read -r -p "是否繼續提交? [Y/n] " input
 
case $input in
    [yY][eE][sS]|[yY])
        echo "繼續提交"
        git add -A
        git commit -m $1
        git push origin $2
                    exit 1
        ;;

    [nN][oO]|[nN])
        echo "中斷提交"
        exit 1
            ;;

    *)
    echo "輸入錯誤,請重新輸入"
    ;;
esac
        

實際操作的時候命令行輸入:./gitcommit.sh  commitMessage  branchName就可以了

循環提交腳本

#!/bin/bash
git status
 
while true;
do
    read -r -p "是否繼續提交? [Y/n] " input
 
    case $input in
        [yY][eE][sS]|[yY])
            echo "繼續提交"
            git add -A
            git commit -m $1
            git push origin $2
                        exit 1
            ;;
 
        [nN][oO]|[nN])
            echo "中斷提交"
            exit 1
                   ;;
 
        *)
        echo "輸入錯誤,請重新輸入"
        ;;
    esac
done

操作跟單次提交一樣

有時候,我們本地開發提交代碼用svn,提交到代碼倉庫,然后代碼倉庫推送到目標服務器

 

#!/bin/bash
cd 代碼路徑
svn up
version=`svnversion |sed 's/^.*://' |sed 's/[A-Z]*$//'`
#version=`svn info|grep "Last Changed Rev"`
branch=倉庫地址

git status
 
read -r -p "是否繼續提交? [Y/n] " input
 
case $input in
    [yY][eE][sS]|[yY])
        echo "繼續提交"
        git add .
        git commit -m $version
        git push $branch master
        ;;
 
    [nN][oO]|[nN])
        echo "中斷提交"
        exit 1
               ;;
 
    *)
    echo "輸入錯誤"
    exit 1
    ;;
esac

執行的時候直接./gitbash.sh 就好了,因為提交信息跟倉庫地址我是直接寫死的,

順便總結一下git add的幾個區別

git add -A   保存所有的修改
git add .    保存新的添加和修改,但是不包括刪除
git add -u   保存修改和刪除,但是不包括新建文件

svn的查詢某一版本號的修改內容

查看history

svn log -l count /file/path #查看某一文件的最近count次提交信息

比較不同版本

svn diff -r PREV:COMMITTED /file/path    #查看最近一次提交的改動
svn diff -r version1:version2 /file/path  #查看指定版本間的不同

svn info跟svnversion這兩個命令的區別

svn info|grep "Last Changed Rev"          #得到當前路徑文件提交的最后一次版本號
svnversion |sed 's/^.*://' |sed 's/[A-Z]*$//'  #得到當前倉庫地址的最新版本號

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM