標籤 git 下的所有文章

Git 常用指令整理

推回上一個點

git revert -m 1 eff349a7a4132fdbb5f45bbb0d1b72248ace29a1(merge的點) 會新增一個commit

連同檔案一起推回上一個點

git reset --head HEAD^1

回覆修改紀錄

git reset --soft HEAD^

–soft – 緩存區和工作目錄都不會被改變
–mixed – 默認選項。緩存區和你指定的提交同步,但工作目錄不受影響
–hard – 緩存區和工作目錄都同步到你指定的提交

取消追蹤檔案

git rm --cached xxxxxxxxxxxx

git stash pop 衝突解法

git reset 或 git git reset HEAD [files]

[參考] (http://stefaanlippens.net/resolve-git-unmerged-paths-after-stash-pop)

建立分支

git branch branch_name SHA

檢查Log

git log

輸入指令!帳號密碼只要打一次

git config --global credential.helper store

git 從那個點到那個點的差異or檔案名稱

git diff 93fd4171999e8682850ff5d1ca300c419fe3610e HEAD
git diff --name-only 93fd4171999e8682850ff5d1ca300c419fe3610e HEAD

更換git遠端名稱

git remote rename origin upstream

新增異動檔案暫存區

git add -u

Git Repository

mkdir ${PROJECT}.git

cd ${PROJECT}.git

git --bare init

然後在本機裡加入

git remote add origin file:///${PROJECT}.git

上傳更新本地位址

在${PROJECT}.git底下的hooks資料夾加入post-receive並寫入以下bash (檔案權限須改成755)

 #!/bin/bash

while read oldrev newrev refname
do
 if [ "$refname" == "refs/heads/master" ]; then
 break;
 fi
done

if [ "$refname" != "refs/heads/master" ]; then
 exit;
fi

branch=$(git rev-parse --symbolic --abbrev-ref $refname)

git --work-tree=要覆蓋的位址 checkout -f $branch