顯示具有 Git 標籤的文章。 顯示所有文章
顯示具有 Git 標籤的文章。 顯示所有文章

2025/04/30

用一行指令搞定 Git 歷史中的大檔案:git lfs migrate import

用一行指令搞定 Git 歷史中的大檔案:git lfs migrate import

如果你曾經在推送 Git 專案到 GitHub 時遇到以下錯誤訊息:

remote: error: File opencv2.framework/Versions/A/opencv2 is 236.31 MB; this exceeds GitHub's file size limit remote: error: GH001: Large files detected. You may want to try Git Large File Storage

那麼你就遇到 GitHub 強制限制:單一檔案不可超過 100MB。而這個限制,不只是針對目前版本的檔案,就算該檔案只曾出現在 Git 歷史中一次,也會導致整個 Push 被拒絕。

常見的錯誤誤解

2025/03/10

透過 Git Subtree 無痛整合 GitHub 上的既有專案

Git Subtree 輕鬆合併專案,保留完整 commit 歷史

在軟體開發的過程中,時常會遇到這樣的需求:

  • 你有一個現有的 Git 專案,但需要將另一個儲存庫的內容整合進來,並且希望保留完整的 commit 歷史。

這時,Git 提供了幾種不同的方式來達成這個目標,其中 Git Subtree 是一個簡單又強大的解法。

本文將帶你了解 Git Subtree 的用途、與 Submodule 的差異,以及如何實際操作,讓你的開發流程更順暢!

2024/01/27

Ubuntu 透過apt-get升級Gitlab-EE

首先修改gitlab配置,加入下方這串
nginx['custom_gitlab_server_config'] = "location ^~ /api/v4/jobs/request {\n deny all;\n return 503;\n}\n"

輸入下方命令,讓Gitlab載入配置
sudo gitlab-ctl reconfigure

接著輸入指令更新Gitlab
sudo apt-get install --only-upgrade gitlab-ee -y

更新完成後,一開始加入的那串並且重新載入配置即可
參考資料:
Upgrade GitLab

2023/05/29

Ubuntu 22.04 LTS Install GitLab Server EE

GitLab Server有兩個版本,CE(社群版)和EE(企業版)
下方命令是以EE版本為主,如果要改成CE版本則將gitlab-ee改為gitlab-ce即可
版本差異在於EE會多新增比較多的功能,兩者核心是一樣的
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl postfix
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo apt-get install gitlab-ee -y
sudo apt-get remove gitlab-ee -y

# 修改配置檔案
vim /etc/gitlab/gitlab.rb

# 配置及啟動GitLab
sudo gitlab-ctl reconfigure
sudo cat /etc/gitlab/initial_root_password



參考資料:
https://about.gitlab.com/install/#ubuntu

2023/05/22

Windows 11 Terminal預設使用Git Bash

從Terminal旁邊的下按鈕點即設定

將命令提示字元改為如下圖儲存重開新分頁即可

2016/08/22

Git ssh: connect to host bitbucket.org port 22: Connection timed out

今天要上傳程式碼到Bitbucket上沒想到出現了ssh: connect to host bitbucket.org port 22: Connection timed out
解決方式有三種

#1
#改用Https協定
#編輯git設定檔
git config --local -e

#將url修改為https
#url = https://UserName@bitbucket.org/UserName/repository.git

#2
#將22Port改為443
vi ~/.ssh/config

#將下列貼到config內
Host bitbucket.org
  Hostname ssh.bitbucket.org
  Port 443

#用下列指令測試是否連線正確
ssh -T -p 443 git@bitbucket.org

#3
#打給你的ISP請他重新分配一組IP給你

2014/08/21

Git stash

最近用VS在開發案子,有時只是想review一下Code或Layout,VS Project file就會有異動
或者是Code寫到一半時,可能需要Checkout到其他Branch,Git會要你Commit
那我們可以先用git stash將異動存起來,之後在透過git stash pop將異動提出

#將檔案加入暫存檔
git stash

#查看暫存檔清單
git stash list

#將暫存檔加回來
git stash pop

#將暫存檔0加回來
git stash pop stash@{0}




參考資料:
http://git-scm.com/docs/git-stash

2014/08/06

Git 不追蹤特定檔案或資料夾

在某些特定程式語言編譯時,會產生極為龐大程式檔案,或是不必要的追蹤檔案
這時候可以將不想追蹤的檔案名稱寫入『.gitignore』

在這邊以Asp.Net專案為例,可以看到當前的資料夾如下圖



假設剛剛將Asp編譯後,會在Bin資料夾底下產生執行檔,那我不希望Bin資料夾的更動會被追蹤該怎麼辦?



2014/06/16

Git remote


git remote add tag url  #新增remote
git remote remove tag  #移除remote
git remote rename old-tag new-tag  #重新將remote命名
git remote set-url tag  #重新設定remote的url
git remote show tag  #顯示remote資訊

2013/04/06

Smart Git

這套Git軟體是在演講聽到KKBOX南區畢經理提到的,這跟以往的Git bash差異在哪呢?
使用後覺得非常適合一些美工、文書或剛學習Git的使用者使用,直覺到連我媽都會用XD


雖然Smart Git是英文版本,但網路或許可以找到一些語言包吧?
以下就是一些安裝過程,不過我仍舊用Git bash
我比較熟悉打指令的方式去學習,雖然Smart Git點一下按鍵就可以幫你把事情都做完了
但那種成就感是沒辦法取代的XD




2013/02/06

Git基本指令

首先mkdir MyGit,接著cd MyGit,git init初始化容器
接著輸入ls -al底下就會出現一個.git資料夾,裡面放著配置檔、資料結構,物件儲存以及索引等資訊。



接著git add index.html將檔案加入容器,git status取得容器資訊


2013/01/24

GitHub初體驗

在好久之前我有自己架設Git,不過僅限於自己伺服器使用而已
有聽朋友提過GitHub提供免費的Git,就來試用看看吧

先下載msysgit,我是選擇Git-1.7.11-preview20120710.exe

在安裝的過程我們先到GitHub網站建立帳號,建立完成後我們開始建立一個新的倉儲儲存專案的地方