日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

《git常用命令》

發布時間:2025/3/19 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《git常用命令》 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

創建新的倉庫

  • 新建文件夾,打開,執行

    git init

檢出倉庫

  • 創建一個本地倉庫克隆版本

    git clone /path/to/repository
  • 創建遠程服務器上的倉庫

    git clone username@host:/path/to/repository

Git工作流

一個本地倉庫由git維護的3客”樹”組成。

  • 工作目錄working dic。 – 它持有實際文件
  • 暫存區Index。 – 它像個緩沖區域,臨時保存你的改動
  • HEAD。 – 它指向你最后一次提交的結果
  • work flow:working dic –add– ==> Index –commit– ==>HEAD

    添加和提交

    • 添加到暫存區

      git add <filename> git add * git add .
    • 提交到HEAD

      git commit -m 'some comment' git commit -m "some comment"
    • 添加提交二合一

      git commit -a -m 'some comment'

    查看倉庫修改狀態

    git status

    推送更改

    • 現在的改動已經提交到本地倉庫的HEAD中,提交到遠程倉庫

      git push

    格式git push (remote) (branch),
    第一次push必須這樣寫 git push origin master:master

    推送到具體某一分支

    git push origin someBranch

    分支操作

    • 查看分支

      git branch
    • 查看分支最后提交狀態

      git branch -v

      --merged 與 --no-merged 這兩個有用的選項可以過濾這個列表中已經合并或尚未合并到當前分支的分支。 如果要查看哪些分支已經合并到當前分支,可以運行 git branch --merged

      aBranchiss53 * master
    • 新建分支

      git branch aBranch
    • 切換到aBranch分支

      git checkout aBranch
    • 新建切換分支2合一

      git checkout - b aBranch
    • 刪除分支

      git branch -d aBranch

    如果將要刪除的分支還有沒有合并的內容,刪除將會失敗,使用-D強制刪除

    error: The branch 'testBranch' is not fully merged. If you are sure you want to delete it, run 'git branch -D testBranch'.
    • 分支重命名

      git branch -m oldBranchName newBranchName

    分支操作實例

    master是默認的分支。在其他分支上進行開發,完成后再將他們合并到主分支上。

  • 創建一個叫“feature_x”的分支,并切換過去

    git checkout -b feature_x
  • 切換回主分支:

    git checkout master
  • 刪除新建分支

    git branch -d feature_x
  • 將分支推送到遠程倉庫

    git push origin <branch>
  • 更新與合并

    • 更新你的本地倉庫到最新改動

      git pull

    會在你的工作目錄 抓取fetch并合并merge遠端的改動

    • 合并aBranch分支回master分支

      git checkout master git merge aBranch

    這種方式叫做直接合并(straight merge)
    注意沒參數的情況下merge是fast-forward的,即Git將master分支的指針直接移到aBranch的最前方。

    換句話說,如果順著一個分支走下去可以到達另一個分支的話,那么Git在合并兩者時,只會簡單移動指針,所以這種合并成為快進式(Fast-forward)

    如何避免每次輸入密碼

    如果你正在使用 HTTPS URL 來推送,Git 服務器會詢問用戶名與密碼。 默認情況下它會在終端中提示服務器是否允許你進行推送。

    如果不想在每一次推送時都輸入用戶名與密碼,你可以設置一個 credential cache。 最簡單的方式就是將其保存在內存中幾分鐘,可以簡單地運行 git config --global credential.helper cache 來設置它。

    壓合合并squashed commits

    將一條分支上的若干個提交條目壓合成一個提交條目,提交到另一條分支的末梢。

    把aBranch分支上的所有提交壓合成主分支上的一個提交,即壓合提交:

    git checkout master git merge --squash aBranch

    此時,aBranch上的所有提交已經合并到當前工作區并暫存,但還沒有作為一個提交,可以像其他提交一樣,把這個改動提交到版本庫中:

    git commit -m 'some comment'

    揀選合并cherry-picking

    揀選另一條分支上的某個提交條目的改動帶到當前分支上。

    每一次提交都會產生一個全局唯一的提交名稱,利用這個名稱就可以進行揀選提交。

    比如在dev上的某個提交叫:321d76f

    把它合并到master中:

    git checkout master git cherry-pick 321d76f

    要揀選多個提交,可以給git cherry-pick命令傳遞-n選項,比如:

    git cherry-pick –n 321d76f

    這樣在揀選了這個改動之后,進行暫存而不立即提交,接著可以進行下一個揀選操作,一旦揀選完需要的各個提交,就可以一并提交。

    如果發生沖突,解決沖突完后執行git cherry-pick --continue繼續揀選合并。

    解決沖突(conflicts)

  • 通過CONFLICT (content):找到沖突文件所在的位置
  • 打開沖突文件,修改沖突后保存
  • 通過git status查看沖突是否解決
  • 通過git diff <source_branch> <target_banch>預覽差異
  • 提交更改git commit -a -m 'some comment'
  • 查看遠程分支的完整列表

    git ls-remote

    獲取遠程分支更多信息

    git remote show

    新建遠程分支

    git push --set-upstream origin newBranch

    提交分支數據到遠程服務器

    git push origin <local_branch_name>:<remote_branch_name>

    刪除遠程分支

    git push origin :develop git push origin --delete develop

    標簽

    創建一個1.0.0的標簽

    git tag 1.0.0 1b2e1d63ff

    1b2e1d63ff是你想要標記的提交ID的前10位字符,可使用下列命令獲取提交ID

    git log

    替換本地改動

    git checkout -- <filename>

    此命令會使用HEAD中的最新內容替換掉你的工作目錄中的文件。已添加到暫存區的改動以及新文件都不會受到影響。

    假如你想丟棄你在本地的所有改動與提交,可以到服務器上獲取最新的版本歷史,并將你本地主分支指向它

    git fetch orgin git reset --hard origin/master

    參考鏈接

    • Git - 簡明指南
    • Git社區參考指南
    • Github Help
    • 圖解Git
    • Think like a git

    總結

    以上是生活随笔為你收集整理的《git常用命令》的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。