Git

git Create branch via Command

很多時候都是使用BitBucket / Github 去create 新branch 但是久不久BitBucket 的 選擇 Branch的選項..總是選擇不到 UAT 的 最後選擇最原始既方法… 就是使用 command line 了 解決方法: # 首先 checkout 了你想Create branch from 的 branch && git pull git checkout uat && git pull # 使用 git branch 來Create 新 branch git branch [branch-name] # checkout 新建立的branch git checkout [branch-name] # 用以下command push 去remote git push --set-upstream origin [branch-name] 或者可以嘗試這樣..簡短一點 # git checkout -b [new branch name] [branch-from] # e.

Git Your branch have diverged and have 1 and 1 different commits each, respectively

最近同同事一齊用同一個 branch 寫 code 誰不知..呢隻同事..十分喜歡 rebase 或在 push 左既 branch 用 git commit --amend --no-edit 想佢變成一個 commit 之後問題便出現了… 當我嘗試 pull 他的 changes 到我的 local 時 即使我沒有加新的 commit 也出現了以下情況 Your branch and 'origin/ubuntu-install-wpscan' have diverged, and have 1 and 1 different commits each, respectively. (use "git pull" to merge the remote branch into yours) 解決方法 如果知道自己是沒有 commit 只是 remote branch 跟你的 local branch 有些 commit 亂了 而你又信 remote branch 既 changes 的話.

Git undo local commit

久唔久就會大意地 Commit 錯野 發現以下這個 git command Git undo pushed commit and keep changes unstage 解決方法 git reset HEAD^

Git Error Unlink of File failed. Should I try again?

久不久我使用的 Git 便會出現以下問題 Unlink of file. ‘ file path and name’ failed. Should I try again? (y/n) 很多時候按了 “Y” 也是說 file locked … Should I try again? 解釋方法: 我們只需要執行 git gc command 便可 git gc Hope you find it useful

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

Git Include Ignored files

今日嘗試在 git 上加入之前 用 .gitignore Ignore 左既 個 project folder 入面的 .vscode資料夾 剛剛更新了 project 入面的 workspace setting 而在VS Code 的 workspace setting 是儲存在 .vscode/settings.json 上 要把這個檔案加回 source control 我們首先要在 .gitignore 檔案上 移除這個資料夾 之後使用以下 指令 再強制把這個檔案加回source control git add -f .vscode/settings.json 完成後便可以 commit 這個檔案了 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