Git Command

Git Check which branch contain specific commit

今日公司個Production project 有一個 Bug 但係在 Staging 和 UAT environment 都 replicate 唔到呢個問題.. 之後便用Git Blame 去檢查一下有什麼 code change 再看看是那一個 commit 做了code change 找到commit 之後 便要嘗試去看看這個commit merge 了去那些 branch 解決方法 我們可以使用以下 git command git branch –contains $COMMIT_ID e.g. git branch –contains 7df12c5 Hope you find it useful

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“ 如果了解自己的 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完一些程式碼後沒有測試便Commit 和Pull 了到 Remote Repo 所以便要用 一些 git command 來還原之前的 Commit 再去解決問題 那麼如何 還原或 Checkout 之前的Commit 呢? 解決方法分簡單 我們只需要找到之前commit的 hash id 之後 “git checkout [commit hash]” 便可以了 查看之前的Commit 可以使用 “git log [-(前多小個 commit)]” e.g. // 這個指令會輸出前三個commit的資訊 git log -3 取後commit hash 之後 只要輸內前 8 個以上的 characters 應該便足夠令 git 識出那個commit你想checkout的 之後可以checkout 這個 commit 了 git checkout 7aef7c3f Local Repos 的 程式碼應該會還原到這個commit 時的 程式碼 hope you find it useful