Category Archives: Git

Different Git User credential Con on same machine – 在同一個電腦上使用不同的Git 使用者

解決方去
我們可以在local的 Git Repos 上設定這個Repos 的Git Credential
我們只需要在 Git Bash上輸入以下指令便可以了

git config user.name "YOUR_USERNAME"

git config user.email "YOUR_EMAIL"

如果大家不想每次都要輸入password 的話可以輸入以下Git command 去 cache你的 git password

git config credential.helper cache

Hope you find it useful

Git refusing to merge unrelated histories

今日剛在Bitbucket 建立左一個新既repos
當我嘗試push local的一個 git repos上去既時候出現了以下的錯誤信息
(當我嘗試Pull這個repos去local的repos時)
fatal: refusing to merge unrelated histories
git Refusing To Merge Unrelated Histories

如果了解自己的repos 和在 git/bitbucket上的沒有衝突的話
解決方法分簡單
我們只需要輸入以卜git 指令便可以

git pull --allow-unrelated-histories

Hope you find it useful

Git note – How to checkout specific commit – Git 如何checkout 之前的Commit / Changeset

常常很大意地 merge完一些程式碼後沒有測試便CommitPull 了到 Remote Repo
所以便要用 一些 git command 來還原之前的Commit 再去解決問題

那麼如何 還原或 Checkout 之前的Commit 呢?

解決方法分簡單
我們只需要找到之前commit的 hash id 之後 “git checkout [commit hash]” 便可以了

查看之前的Commit 可以使用 “git log [-(前多小個commit)]”
e.g.

// 這個指令會輸出前三個commit的資訊
git log -3

Git Log
取後commit hash 之後 只要輸內前8個以上的characters 應該便足夠令 git 識出那個commit你想checkout
之後可以checkout 這個commit 了

git checkout 7aef7c3f

Local Repos 的 程式碼應該會還原到這個commit 時的 程式碼

hope you find it useful

Common Git Command

新公司是用Git
很多同事都是使用Git BashCommit/Pull/Push source 去Bitbucket
由於不太懂Git command的關係
所以我便用BitbucketSource Tree..
可能是太多Projects/ Repositories
久不久..我的Source Tree 便出現問題..
之前還試過

以下是一些常用的 Git Command

//用來提取這個repository 的最近資料

git fetch

// 用來checkout branch

git checkout [branch name]

// 用來Pull 最新的 current branch

git pull 

// 加 unstage 的 file

git add *

// 或一個一個檔案 stage
git add FileToStage

// commit

git commit -m "message"

//push

git push

// merge the specific branch to current

git merge develop

這會merge develop branchcurrent checkoutbranch

暫時分享住這些
有機會再share 其他常用的git command

Hope you find it useful

fetch origin error: cannot lock ref – Another git process seems to be running in this repository, e.g. an editor opened by ‘git commit’. Please make sure all processes are terminated then try again. If it still fails, a git process may have crashed in this repository earlier

今日很䌓忙時候 我的Git / Source Tree 出現了以下的錯誤信息
可能是開了太多的ProjectLocal Branch 的關係

Another git process seems to be running in this repository

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
error: cannot lock ref ‘refs/remotes/origin/develop’: Unable to create ‘D:/Git/client-web/.git/refs/remotes/origin/develop.lock’: File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by ‘git commit’. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.”

解決方法十分簡單
我們只需要到這個Project 的 “.Git” 資料夾內
e.g.”/.git/refs/remotes/origin/

或出那個有 “.lock” Extension 的檔案.之後把他”刪除” 便可以了

Hope you find it useful