站長資訊網
        最全最豐富的資訊網站

        如何二十分鐘搞懂git的基礎使用

        本篇文章給大家帶來了git的基本使用相關知識,其中包括git的基本操作,分支操作以及更改提交的操作等等,希望對大家有幫助。

        如何二十分鐘搞懂git的基礎使用

        1. 設置SSH Key

        設置 SSH Key 使得設備可以有權限訪問賬戶里面的代碼倉庫

        $ ssh-keygen -t rsa -C "your_email@example.com"
        • "your_email@example.com" 設置為自己GitHub賬戶的注冊郵箱
        • id_rsa 文件是私有密鑰,id_rsa.pub 是公開密鑰。
        $ cat ~/.ssh/id_rsa.pub

        ssh-rsa 公開密鑰的內容 your_email@example.com

        • 然后把公鑰拷貝下來,添加到賬戶里面,注意要把前面的 ssh-rsa 也拷貝下來
        • 頭像》Settings》SSH Key》new SSH Key

        接下來驗證一下,出現successfully字樣即為成功

        $ ssh -T git@github.com Enter passphrase for key '/c/Users/MYPC/.ssh/id_rsa': Hi abc! You've successfully authenticated, but GitHub does not provide shell access.

        2. git 基本操作

        2.1 git clone 已有倉庫

        $ git clone git@github.com:hirocastest/Hello-World.git

        這里會要求輸入 GitHub 上設置的空開密鑰的密碼,認證成功后,倉庫便會被 clone 到當前目錄中。

        2.2 git add 將文件加入暫存區

        代碼編寫完成之后,將代碼添加到系統的暫存區

        $ git add 文件夾/文件

        2.3 git commit 保存倉庫的歷史記錄

        git commit 命令可以將當前暫存區中的文件實際保存到倉庫的歷史記錄中。通過這些記錄,我們就可以在工作樹中復原文件。

        $ git commit -m "記錄一行提交信息"
        • m 表示對這個提交的概述,如果想要記錄詳細信息,就把 – m 去掉

        2.4 git push

        之后只要執行 push 命令,GitHub 上的倉庫就會被更新

        $ git push

        2.5 git init 初始化倉庫

        clone 方法建立倉庫,不需要執行 init 操作。如果要把本地文件設置為倉庫,那么就需要進行 init 操作

        $ mkdir git-tutorial  $ cd git-tutorial  $ git init

        2.6 git status 查看倉庫狀態

        $ git status # On branch master # # Initial commit # nothing to commit (create/copy files and use "git add" to track)

        結果現實,我們正處于 masteer 分支下,并且沒有可提交的內容

        2.7 git log 查看提交日志

        git log 命令可以查看以往倉庫中提交的日志。包括什么人在什么時候進行了提交或合并

        $ git log commit 5dbbff6e009abb8a6cc44187c93b694f94fbf82a (HEAD -> main, origin/main, origin/HEAD) Author: ywm <ywm_up@qq.com> Date:   Sun Feb 28 17:17:00 2021 +0800

        只想現實提交信息的第一行,可以在 git log 命令后加上 -- pretty=short

        $ git log --pretty=short

        2.8 git diff 查看更改前后的差別

        執行 git diff 查看當前工作書與暫存區的差別

        $ git diff

        3. 分支操作

        可以創建多個分支,同時進行完全不同的作業。等分支作業完成之后再與 master 分支合并。通過靈活運用分支,可以讓多人同時高效的進行并發開發。

        3.1 git branch 顯示分支一覽表

        master 分支左側有 “*”(星號),表示這是我們當前所在的分支。

        $ git branch * master

        3.2 git checkout 創建、切換分支

        創建并切換到分支 feature-A

        $ git checkout -b feature-A

        實際上,上面那條命令,等價于下面兩條命令

        $ git branch feature-A  $ git checkout feature-A

        切換回分支 mian

        $ git checkout main

        切換回上一個分支

        $ git checkout -
        • 操作一下:創建一個新的分支 feature,在新的分支上修改 README.md,并且 add、commit

        通過實際操作可以證明:只要創建多個分支,就可以在不互相影響的情況下同時進行多個功能的開發

        3.3 git merge 合并分支

        合并時加上 –no–ff 參數,可以保存之前的分支歷史

        $ git merge --no-ff feature

        隨后編輯器會啟動,用于錄入合并提交的信息

        3.4 git log –graph 以圖標的形式查看分支

        $ git log --graph

        4. 更改提交的操作

        4.1 git reset 回溯歷史版本

        $ git reset --hard 目標時間點的hash值

        通過 git reflog 查看當前倉庫的操作日志,可以找到回溯歷史之前的哈希值。只要不進行 git 的 GC(垃圾回收),就可以通過日志隨意調取近期的歷史狀態。即便開發者錯誤執行了 git 操作,基本也可以用 git reflog 命令恢復到原先的狀態。

        $ git reflog

        上面打印的是最近的操作,下面打印的是最舊的操作

        4.2 消除沖突

        • 合并操作的時候,容易出現沖突,這時候需要打開編輯器,來解決沖突
        • 在實際開發中,往往需要刪除其中之一,所以務必要仔細分析沖突部分的內容后再進行修改
        • 解決沖突之后,再進行 add 和 commit 操作

        如果對上一條提交信息不滿意,可以使用 amend 參數進行修改

        $ git commit --amend

        4.3 git rebase -i 壓縮歷史

        在合并分支之前,如果發現已提交的內容中有些拼寫錯誤,不妨提交一個修改,然后將這個修改包含到前一個提交之中,壓縮成一個歷史記錄。

        git rebase -i HEAD~2

        可以選定檔期按分支中包含 HEAD 在內的兩個最新歷史記錄為對象,并在編輯器中打開

        5 推送至遠程倉庫

        5.1 git remote add 添加遠程倉庫

        在創建新倉庫的時候,建議不要勾選 README.md 文件,這樣會使本地倉庫和遠程倉庫失去整合性。雖然到時候可以強制覆蓋,但防止這一情況發生,還是不要勾選,就創建一個空倉庫就好。

        git remote 在先寫代碼,后創建倉庫的情況下能較好的使用

        $ git remote add origin git@github.com:github-book/git-tutorial.git

        對于一般先創倉庫,后寫代碼的,需要先 pull 下來倉庫,再對文件進行修改

        5.2 git push 推送至遠程倉庫

        推送至 master 分支

        $ git push -u origin master

        -u 參數可以在推送的同時,將 origin 倉庫的 master 分支設置為本地倉庫當前分支的 upstream(上游),添加這個參數,將來運行 git pull 命令從遠程倉庫獲取內容的時候,本地倉庫的這個分支就可以直接從 origin 的 masteer 分支獲取內容,省去了另外添加參數的麻煩

        除了 master 分支之外,還可以推送到其他分支

        $ git checkout -b feature-D  $ git push -u origin feature-D

        6 從遠程倉庫中獲取

        6.1 git clone 獲取遠程倉庫

        $ git clone git倉庫地址

        將本地的 feature-D 分支更新到最新狀態

        $ git pull origin feature-D
        • 多名開發者在同一個分支中進行作業時,為減少沖突情況的發生,建議更頻繁的進行 push 和 pull 操作

        推薦學習:《Git教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 亚洲精品自产拍在线观看动漫| 精品国产91久久久久久久a| 国产精品久久久久乳精品爆| 久久国产精品久久精品国产| 久久91精品久久91综合| 99精品伊人久久久大香线蕉| 国产精品久久久久久一区二区三区| 国产一区二区三区久久精品| 亚洲精品视频久久久| 久久夜色精品国产噜噜麻豆| 精品人妻久久久久久888| 91精品国产自产在线观看永久| 91久久精品国产91性色也| 精品黑人一区二区三区| 中文字幕久久精品| 精品亚洲综合在线第一区| 欧美精品中文字幕亚洲专区 | 久久香蕉超碰97国产精品| 久久夜色精品国产| 久久精品亚洲一区二区三区浴池| 国产精品免费高清在线观看| 亚洲无删减国产精品一区| 精品无码国产一区二区三区51安| 自拍中文精品无码| 国产精品主播一区二区| 精品久久国产一区二区三区香蕉 | 四虎国产精品永久地址49| 国产精品va无码一区二区| 日韩人妻无码精品一专区| 99精品视频3| 国产精品毛片无遮挡| 久久久久成人精品无码中文字幕| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 无码国产精品一区二区免费3p| 久草热久草热线频97精品| 国产在线精品一区免费香蕉| 国产精品无码国模私拍视频| 国产成人久久久精品二区三区| 日韩亚洲精品福利| 欧美精品一本久久男人的天堂| 亚洲精品偷拍视频免费观看|