精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Git命令合集(下)

jf_78858299 ? 來源:阿Q正磚 ? 作者:阿Q正磚 ? 2023-02-15 10:44 ? 次閱讀

7、git reset

將版本庫還原到歷史的某個時刻的狀態

git reset --hard logid(logid的前幾位即可)

將版本庫還原到上一次commit之前的狀態

git reset --hard HEAD^

有時候,進行了錯誤的提交,但是還沒有push到遠程分支,想要撤銷本次提交,可以使用git reset –-soft/hard命令。

回退到某個版本,只回退了commit的信息,代碼修改過的沒變。如果還要提交,直接commit即可;

git reset –-soft

徹底回退到某個版本,本地的源碼也會變為上一個版本的內容,撤銷的commit中所包含的更改被沖掉,即commit與修改過代碼都撤銷,變為原來的某個版本;

git reset -–hard

8、git config

添加版本庫的用戶名到本地配置文件

git config --global user.name 'username'

添加版本庫的用戶郵箱到本地配置文件

git config --global user.emal 'emal'

9、git diff

執行git diff來查看執行git status的結果的詳細信息。

git diff命令顯示已寫入緩存與已修改但尚未寫入緩存的改動的區別。

尚未緩存的改動:

git diff

查看已緩存的改動

git diff --cached

查看已緩存的與未緩存的所有改動

git diff HEAD

顯示摘要而非整個diff

git diff --stat

舉個栗子:

git status -s

git diff

git add hello.php

git status -s

git diff --cached

10、git commit

git commit -m 'test comment from w3cschool.cn'

提交緩存的流程太過繁瑣,Git 也允許你用 -a 選項跳過這一步

git add

git commit -am 'changes to hello file'

表示提交的信息中帶有署名信息

git commit --signoff -m 'xxx'

表示對上一次提交的信息,進行修改提交

git commit --amend 'xxx'

11、git rm

將文件從緩存區中移除

git rm

git rm hello.php

將文件從緩存區和你的硬盤中(工作目錄)刪除。如果要在工作目錄中留著該文件

git rm file

git rm --cached

12、git log

git log 查看提交歷史

git log --oneline --oneline 選項來查看歷史記錄的簡潔的版本

git log --oneline --graph -graph 選項,查看歷史中什么時候出現了分支、合并。

git log --reverse --oneline '--reverse'參數來逆向顯示所有日志

git log --author=Linus --oneline -5 --author , 例如,比方說我們要找 Git 源碼中 Linus 提交的部分

git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges

13、git tag

查看所有標簽

git tag

-a選項意為“創建一個帶注解的標簽”。不用-a選項也可以執行,但它不會記錄這標簽是啥時候打的,誰打的,也不會讓你添加標簽的注解

git tag -a v1.0

git log --online --decorate --graph --decorate 時,我們可以看到我們的標簽

追加標簽

git tag -a v0.9 85fc7e7

git log --oneline --decorate --graph

指定標簽信息命令

git tag -a -m "w3cschool.cn標簽"

PGP標簽命令

git tag -s -m "w3cschool.cn標簽"

查看版本:

git tag

創建版本:

git tag [name]

刪除版本:

git tag -d [name]

查看遠程版本:

git tag -r

創建遠程版本(本地版本push到遠程):

git push origin [name]

刪除遠程版本:

git push origin :refs/tags/[name]

合并遠程倉庫的tag到本地:

git pull origin --tags

上傳本地tag到遠程倉庫:

git push origin --tags

創建帶注釋的tag:

git tag -a [name] -m 'yourMessage'

二、Git與SVN比較

SVN是當前使用最多的版本控制工具。與它相比,Git最大的優勢在于兩點:易于本地增加分支和分布式的特性。

圖片

1、本地增加分支

圖中Git本地和服務器端結構都很靈活,所有版本都存儲在一個目錄中,你只需要進行分支的切換即可達到在某個分支工作的效果。

而SVN則完全不同,如果你需要在本地試驗一些自己的代碼,只能本地維護多個不同的拷貝,每個拷貝對應一個SVN服務器地址。

舉個例子:

使用SVN作為版本控制工具,當正在試圖增強一個模塊,工作做到一半,由于會改變原模塊的行為導致代碼服務器上許多測試的失敗,所以并沒有提交代碼。

這時候假如現在有一個很緊急的Bug需要處理, 必須在兩個小時內完成。我只好將本地的所有修改diff,并輸出成為一個patch文件,然后回滾有關當前任務的所有代碼,再開始修改Bug的任務,等到修改好后,在將patch應用回來。前前后后要完成多個繁瑣的步驟,這還不計中間代碼發生沖突所要進行的工作量。

可是如果使用Git, 我們只需要開一個分支或者轉回到主分支上,就可以隨時開始Bug修改的任務,完成之后,只要切換到原來的分支就可以優雅的繼續以前的任務。只要你愿意,每一個新的任務都可以開一個分支,完成后,再將它合并到主分支上,輕松而優雅。

2、分布式提交

Git 可以本地提交代碼,所以在上面的圖中,Git有利于將一個大任務分解,進行本地的多次提交;

而SVN只能在本地進行大量的一次性更改,導致將來合并到主干上造成巨大的風險。

3、日志查看

Git 的代碼日志是在本地的,可以隨時查看;

SVN的日志在服務器上的,每次查看日志需要先從服務器上下載下來。

例如:代碼服務器在美國,當每次查看幾年前所做的工作時,日志下載可能需要十分鐘,這不能不說是一個痛苦。但是如果遷移到Git上,利用Git日志在本地的特性,查看某個具體任務的所有代碼歷史,每次只需要幾秒鐘,大大方便了工作,提高了效率。

當然分布式并不是說用了Git就不需要一個代碼中心服務器,如果你工作在一個團隊里,還是需要一個服務器來保存所有的代碼的。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11229

    瀏覽量

    208927
  • 源代碼
    +關注

    關注

    96

    文章

    2944

    瀏覽量

    66670
  • Git
    Git
    +關注

    關注

    0

    文章

    196

    瀏覽量

    15736
收藏 人收藏

    評論

    相關推薦

    Git常用命令總結

    在之前的文章中,我們討論了一些初學者必備的 Git 命令。然而,這些命令僅僅觸及了 Git 功能的皮毛。
    發表于 07-21 10:30 ?286次閱讀

    Git常用的超級實用命令

    的一些Git工作流。 1 Git 常用的超級實用命令 1.1 與倉庫相關的操作 克隆代碼倉庫到本地,開發必用 git clone 查看本地倉庫配置了那些對應的遠程倉庫。
    的頭像 發表于 10-09 17:19 ?1141次閱讀
    <b class='flag-5'>Git</b>常用的超級實用<b class='flag-5'>命令</b>

    git命令的基本使用

    git config 第一次使用git或者剛安裝的git時,使用此命令設置身份Name 和 Eamail 地址。并且每次提交時會使用此信息。
    的頭像 發表于 12-11 13:53 ?882次閱讀

    Git命令之本地分支與遠程分支關聯和解除

    在實際的工作生活中,往往需要將本地的分支和遠程分支關聯,這樣我們就可以使用git pull命令來更新拉取最新的代碼,并使用git push命令將自己本地的修改推送到遠程倉庫。但是如果此
    的頭像 發表于 12-15 09:27 ?3059次閱讀
    <b class='flag-5'>Git</b><b class='flag-5'>命令</b>之本地分支與遠程分支關聯和解除

    第一本Git命令教程(六) - 日志

    。有三種 Git 命令可以幫我們查看記錄,痞子衡為大家一一講解: 1. 查看本地歷史提交 git log git log 是最直接的查看歷史提交的
    的頭像 發表于 12-05 17:22 ?767次閱讀

    Git 命令+原理 程序員必備的基礎

    掌握Git命令是每位程序員必備的基礎,之前一直是用smartGit工具,直到看到大佬們都是在用Git命令操作的,回想一,發現有些
    的頭像 發表于 11-14 10:01 ?1731次閱讀
    <b class='flag-5'>Git</b> <b class='flag-5'>命令</b>+原理 程序員必備的基礎

    Git常見的誤區和命令行工具等綜述

    Git常見的誤區和命令行工具等綜述
    發表于 08-31 09:51 ?0次下載

    Git命令合集(上)

    Git是一個很強大的分布式版本管理工具,它不但適用于管理大型開源軟件的源代碼(如:Linux、kernel),管理私人的文檔和源代碼也有很多優勢(如:wsi-lgame-pro)
    的頭像 發表于 02-15 10:43 ?597次閱讀
    <b class='flag-5'>Git</b><b class='flag-5'>命令</b><b class='flag-5'>合集</b>(上)

    Git高效命令的使用技巧

    今天浩道跟大家分享關于Git高效命令的硬核干貨,掌握這些技巧,使你事半功倍!
    的頭像 發表于 02-28 16:41 ?900次閱讀

    git rebase與相關git merge命令比較

    。 #概念 ????首先要理解的是git rebase和git merge解決了同樣的問題。這兩個命令都旨在將更改從一個分支集成到另一個分支 - 它們只是以不同的方式進行。試想一當你
    的頭像 發表于 05-26 16:22 ?854次閱讀
    <b class='flag-5'>git</b> rebase與相關<b class='flag-5'>git</b> merge<b class='flag-5'>命令</b>比較

    git命令和參數

    ? ? 不知道大家平時都是怎么去學習git的,要記憶那么多的命令和參數,我個人是不推薦死記硬背的,以往經驗證明卷的越瘋狂忘的也越快! 其實簡單的理解工作原理和熟練運用少部分常用命令,日常開發問題不大
    的頭像 發表于 05-31 14:22 ?538次閱讀

    Git命令的綜合手冊怎么找

    若你使用 Git 時需要獲取幫助,有三種等價的方法可以找到 Git 命令的綜合手冊(manpage): $ git help $ git -
    的頭像 發表于 07-22 11:02 ?624次閱讀

    git基本操作命令用法

    基本用法 上面的四條命令在工作目錄、暫存目錄(也叫做索引)和倉庫之間復制文件。 git add files把當前文件放入暫存區域。 git commit給暫存區域生成快照并提交。 git
    的頭像 發表于 09-13 16:29 ?768次閱讀
    <b class='flag-5'>git</b>基本操作<b class='flag-5'>命令</b>用法

    Git中最常用的命令介紹

    git add命令用于將修改的文件添加到下一次提交的暫存區。你可以指定要添加的文件git add命令用于將修改的文件添加到下一次提交的暫存區。你可以指定要添加的文件,例如
    發表于 10-26 10:27 ?235次閱讀
    <b class='flag-5'>Git</b>中最常用的<b class='flag-5'>命令</b>介紹

    Git命令解決常見場景記錄

    不需要這些文件了,想要批量處理掉,所以記錄一命令行一次性丟棄未跟蹤文件的方法,同時也記錄一撤銷push請求的git記錄。
    的頭像 發表于 12-20 09:44 ?429次閱讀
    用<b class='flag-5'>Git</b><b class='flag-5'>命令</b>解決常見場景記錄