# Git筆記 Git可以把檔案的狀態作為更新歷史記錄保存起來。因此可以把編輯過的檔案復原到以前的狀態,也可以顯示編輯過內容的差異 不同含義的更改盡量分開提交 Git的標準提交訊息: 第1行:提交時修改內容的摘要 第2行:空行 第3行以後:修改的理由  初始設定 $ git config --global user.name "<使用者名字>" $ git config --global user.email "<電子信箱>" 設定輸出顏色 $ git config --global color.ui auto 設定別名,例如:「checkout」可以省略為「co」來執行。 $ git config --global alias.co checkout 建立tutorial資料庫並在裡面設定為git資料庫 $ mkdir tutorial $ cd tutorial $ git init 輸出該目錄狀態 $ git status > 位於分支 master > > 尚無提交 > > 未追蹤的檔案: > (使用 "git add <檔案>..." 以包含要提交的內容) > samlple.txt > > 提交為空,但是存在尚未追蹤的檔案(使用 "git add" 建立追蹤) 檔案加入索引 $ git add <file>...(空白鍵分隔檔案) $ git add . 表示加入目錄裡面所有檔案 此時status會有新增的訊息 提交檔案 $ git commit -m "<提交訊息>" 查看提交紀錄 $ git log > commit 401ff2e1cb1aa495e362528d836aed02f3f4bc3c (HEAD -> master) > Author: linweipo <linweipo@gmail.com> > Date: Mon Oct 18 15:10:51 2021 +0800 > > first comment 圖形化界面 $ sudo apt install gitk $ gitk 上傳(push)到數據庫(先在貝格樂建立project) 增加數據庫網址以及名稱 $ git remote add <name> <url> 上傳數據庫 $ git push <repository> <refspec> $ git push -u <repository> <refspec> 之後可以省略分支 <repository> 數據庫名稱 <refspec> 分支名稱 > * [new branch] XXX -> XXX2 > 分支 'XXX' 設定為追蹤來自 'XXX' 的遠端分支 'XXX2'。 複製數據庫 $ git clone <repository> <directory> <repository> 數據庫網址 <directory> 複製之後的名稱 (會複製到本機,電腦目錄裡面會出現) (修改之後)增加內容 $ git add 檔名 $ git commit -m "增加的內容" 增加之後可以直接在這裡push $ git push 下載更新到本地庫(pull) $ git pull <repository> <refspec>... <repository> 數據庫名稱 <refspec> 分支名稱 $ git log 查看歷史紀錄 若兩次push期間有其他的上傳但自己沒有pull到,再push就會拒絕 修改在同一個地方的話會無法自動合併(需要手動) $ git pull 下載到自己的資料夾 會出現標記需要修改的地方 (XXXXXX1 XXXXXX2為衝突的地方) ``` <<<<<<< HEAD XXXXXX1 ======= XXXXXX2 >>>>>>> 0a3fe5a0bb4a8938a7ba7fc7d345abfa6f18f418 ``` 修改完裡面的檔案之後再用add提交 commit加上註解 再push $ git log --graph --oneline 圖表化表示版本演進 分支 Intergration/Topic兩種  分支切換 checkout 切換到某個分支並查看最新檔案,之後的提交也是針對該分支 head ~n代表最後的前n代 ^n代表該代的前n代  分支合併(最後通常都會併回intergration分支) Merge 若有分支則會保留分支 fast-forward(快轉) 直接併入  non fast-forward 中間可能有重疊需要解決  Rebate 併入後面變成一條線(增加到master後面) 若有衝突則需要修改後再提交,head跑到最後面   分支種類  master: 拿來發表的 develop: 主要負責開發的 feature: 修復小錯誤 release: 發表釋出之前的準備 hotfix: 發表版緊急出現的小問題需要修復 分支 $ git branch <branchname> 建立分支 $ git branch 查看分支(*表示現在的分支) $ git checkout <branchname> 切換分支 $ git checkout -b <branchname> 建立分支並切換 $ git merge <branchname> 將branchname合併到現在的分支(快轉),分支併入,若有衝突修改則為非快轉,分支會保留 $ git branch -d <branchname> 刪除分支
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up