git練習
常用git清單
git branch -f main c3
強制分支main指向c3
git branch -f main head~3
強制分支main指向head的父節點再往前3個
git checkout c3
將head指向c3
比如現在我們遠端分支和本地分支的版本一樣,現在本地進行reset,但是遠端是感知不到的。這時用revert進行回退,然後再push到遠端分支上。
merge會建立乙個新的節點來合併
rebase致力於一種『line』形式。如果不清楚,那就再去**上練一練吧。
# 最常用,檢視 git 專案紅、綠狀態用
git status (gst)
# 檢視本地分支
git branch (gb)
# 檢視本地以及遠端分支
git branch -a (gb -a)
# 刪除本地分支
git branch -d *** (gb -d ***)
# 檢視紅色狀態的改動點
git diff (gd)
# 將當前路徑下的紅色狀態檔案變成綠色狀態
# 注意,做 ga 操作之前一定要先做 gd
git add . (ga .)
# 變成綠色之後,仍可對比檢視改動點
git diff --cached (gd --cached)
# 正式提交到本地倉庫,綠色狀態提交到倉庫
git commit -m "注釋" (gc -m "")
# add 和 commit 合併
git commit -a (gca)
# 檢視提交日誌,這個命令不帶檔案修改列表,建議用 glg
git log
# 檢視提交日誌,帶檔案修改列表
git log --stat (glg)
# 拉取遠端分支(遠端和本地分支必須同名 ***)
git pull origin *** (gl origin ***)
# 推送本地分支到遠端(遠端和本地分支必須同名 ***)
git push origin *** (gp origin ***)
# 推送同時 set-upstream 即關聯本地和遠端同名分支
# 關聯之後 git push (gp) 或 git pull (gl) 即可不再需要後面的值
git push -u origin *** (gp -u origin ***)
# 打新分支,預設從當前所在的本地分支copy
git checkout -b mybranch (gco -b mybranch)
# 如果要指定從哪個分支copy
# 後面的引數 origin/mybranch 表示從遠端 mybranch 拷貝
git checkout -b mybranch origin/mybranch (gco -b mybranch origin/mybranch)
# 如果是從遠端copy,更加建議使用 -t 引數
# 這樣省略掉倒數第二個引數,同時本地分支和遠端分支建立起了關聯
# 這是另一種關聯本地分支和遠端分支的方法
git checkout -t origin/mybranch (gco -t origin/mybranch)
# set-upstream 也可以建立關聯,一旦本地和遠端同名分支建立起關聯
# 後續的 push 和 pull 操作,不需要任何引數, gp 或 gl 即可
# merge 操作
# merge 可合併不同名分支到當前本地分支
# 以下指令將遠端
git merge origin/master (gm origin/master)
# 一般用 git pull 可取代 git merge
# 注意空格和斜槓的區別,什麼時候用空格?
# push pull 用空格,其它用 / 斜槓,比如 merge checkout
git pull origin master (gl origin master)
# 刪除遠端分支用 git push 推空內容到遠端
git push origin :mybranch (gp origin :mybranch)
# 打本地標籤,git tag 系列 oh-my-zsh 大多沒有簡寫,需要的話自己新增
git tag -a 8.1.0
# 刪除本地標籤
git tag -d 8.1.0
# 檢視本地標籤
git tag
git tag -v
# 推送本地標籤推到遠端,用到了 git push
# 這兩種好像沒區別,所以用簡單的吧
git push origin --tags (gp origin --tags)
git push --tags (gp --tags)
# 將指定本地標籤推到遠端,這裡不能省略 origin
git push origin 8.1.0 (gp origin 8.1.0)
# 將狀態整體回滾到某次提交
# 不加 --hard 的話,回退的**會以紅色狀態出現,gst 可檢視
# 加了 --hard 則完全回退到 commitid 對應的狀態,gst 檢視沒有紅色檔案
git reset commitid
git reset commitid --hard
# 將某次提交記錄撤銷,但整體歷史不回滾
# 注意體會 revert 和 reset 區別
git revert commitid
# 檢視遠端源資訊(即遠端)
git remote -v (grv)
# 新增新的源並命名
git remote add duitangorigin ssh:
# 刪除源
git remote remove duitangorigin
Git基礎和常見命令
vcs即version control system,通過工作副本對檔案 一般是 進行變更,用提交 拉取 推送的方式互動,以版本號為索引的檔案庫管理系統。git 一種免費 開源 分布式版本控制系統。本地vcs 中心化vcs 分布式vcs 本地vcs 優勢 搭建簡單 沒有網路連線要求 缺點 無法協同工...
Git 常見命令
自 這些事情都可以先在本地開 local branch 做,而不需要立即 push 分享給別人。開 branch 最大的好處除了可以不影響 stable 和其他分支版本的開發,另乙個超棒的地方是 你可以決定 merge 的方式 git 的 merge 方式可以分成四種 git merge 合併另乙個...
git 常見命令
針對易混淆的命令進行簡要的回顧 git checkout 分支名 主要的就是切換到乙個分支上,可以對乙個分支的更新或者是還原。換一種說話就是遷出乙個分支的特定版本。預設是遷出分支的 head版本。示例 git checkout master 取出master版本的head。git checkout ...