欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          如何二十分鐘搞懂git的基礎(chǔ)使用

          本篇文章給大家?guī)?lái)了git的基本使用相關(guān)知識(shí),其中包括git的基本操作,分支操作以及更改提交的操作等等,希望對(duì)大家有幫助。

          如何二十分鐘搞懂git的基礎(chǔ)使用

          1. 設(shè)置SSH Key

          設(shè)置 SSH Key 使得設(shè)備可以有權(quán)限訪問(wèn)賬戶里面的代碼倉(cāng)庫(kù)

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

          ssh-rsa 公開(kāi)密鑰的內(nèi)容 your_email@example.com

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

          接下來(lái)驗(yàn)證一下,出現(xiàn)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 已有倉(cāng)庫(kù)

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

          這里會(huì)要求輸入 GitHub 上設(shè)置的空開(kāi)密鑰的密碼,認(rèn)證成功后,倉(cāng)庫(kù)便會(huì)被 clone 到當(dāng)前目錄中。

          2.2 git add 將文件加入暫存區(qū)

          代碼編寫(xiě)完成之后,將代碼添加到系統(tǒng)的暫存區(qū)

          $ git add 文件夾/文件

          2.3 git commit 保存?zhèn)}庫(kù)的歷史記錄

          git commit 命令可以將當(dāng)前暫存區(qū)中的文件實(shí)際保存到倉(cāng)庫(kù)的歷史記錄中。通過(guò)這些記錄,我們就可以在工作樹(shù)中復(fù)原文件。

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

          2.4 git push

          之后只要執(zhí)行 push 命令,GitHub 上的倉(cāng)庫(kù)就會(huì)被更新

          $ git push

          2.5 git init 初始化倉(cāng)庫(kù)

          clone 方法建立倉(cāng)庫(kù),不需要執(zhí)行 init 操作。如果要把本地文件設(shè)置為倉(cāng)庫(kù),那么就需要進(jìn)行 init 操作

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

          2.6 git status 查看倉(cāng)庫(kù)狀態(tài)

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

          結(jié)果現(xiàn)實(shí),我們正處于 masteer 分支下,并且沒(méi)有可提交的內(nèi)容

          2.7 git log 查看提交日志

          git log 命令可以查看以往倉(cāng)庫(kù)中提交的日志。包括什么人在什么時(shí)候進(jìn)行了提交或合并

          $ 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

          只想現(xiàn)實(shí)提交信息的第一行,可以在 git log 命令后加上 -- pretty=short

          $ git log --pretty=short

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

          執(zhí)行 git diff 查看當(dāng)前工作書(shū)與暫存區(qū)的差別

          $ git diff

          3. 分支操作

          可以創(chuàng)建多個(gè)分支,同時(shí)進(jìn)行完全不同的作業(yè)。等分支作業(yè)完成之后再與 master 分支合并。通過(guò)靈活運(yùn)用分支,可以讓多人同時(shí)高效的進(jìn)行并發(fā)開(kāi)發(fā)。

          3.1 git branch 顯示分支一覽表

          master 分支左側(cè)有 “*”(星號(hào)),表示這是我們當(dāng)前所在的分支。

          $ git branch * master

          3.2 git checkout 創(chuàng)建、切換分支

          創(chuàng)建并切換到分支 feature-A

          $ git checkout -b feature-A

          實(shí)際上,上面那條命令,等價(jià)于下面兩條命令

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

          切換回分支 mian

          $ git checkout main

          切換回上一個(gè)分支

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

          通過(guò)實(shí)際操作可以證明:只要?jiǎng)?chuàng)建多個(gè)分支,就可以在不互相影響的情況下同時(shí)進(jìn)行多個(gè)功能的開(kāi)發(fā)

          3.3 git merge 合并分支

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

          $ git merge --no-ff feature

          隨后編輯器會(huì)啟動(dòng),用于錄入合并提交的信息

          3.4 git log –graph 以圖標(biāo)的形式查看分支

          $ git log --graph

          4. 更改提交的操作

          4.1 git reset 回溯歷史版本

          $ git reset --hard 目標(biāo)時(shí)間點(diǎn)的hash值

          通過(guò) git reflog 查看當(dāng)前倉(cāng)庫(kù)的操作日志,可以找到回溯歷史之前的哈希值。只要不進(jìn)行 git 的 GC(垃圾回收),就可以通過(guò)日志隨意調(diào)取近期的歷史狀態(tài)。即便開(kāi)發(fā)者錯(cuò)誤執(zhí)行了 git 操作,基本也可以用 git reflog 命令恢復(fù)到原先的狀態(tài)。

          $ git reflog

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

          4.2 消除沖突

          • 合并操作的時(shí)候,容易出現(xiàn)沖突,這時(shí)候需要打開(kāi)編輯器,來(lái)解決沖突
          • 在實(shí)際開(kāi)發(fā)中,往往需要?jiǎng)h除其中之一,所以務(wù)必要仔細(xì)分析沖突部分的內(nèi)容后再進(jìn)行修改
          • 解決沖突之后,再進(jìn)行 add 和 commit 操作

          如果對(duì)上一條提交信息不滿意,可以使用 amend 參數(shù)進(jìn)行修改

          $ git commit --amend

          4.3 git rebase -i 壓縮歷史

          在合并分支之前,如果發(fā)現(xiàn)已提交的內(nèi)容中有些拼寫(xiě)錯(cuò)誤,不妨提交一個(gè)修改,然后將這個(gè)修改包含到前一個(gè)提交之中,壓縮成一個(gè)歷史記錄。

          git rebase -i HEAD~2

          可以選定檔期按分支中包含 HEAD 在內(nèi)的兩個(gè)最新歷史記錄為對(duì)象,并在編輯器中打開(kāi)

          5 推送至遠(yuǎn)程倉(cāng)庫(kù)

          5.1 git remote add 添加遠(yuǎn)程倉(cāng)庫(kù)

          在創(chuàng)建新倉(cāng)庫(kù)的時(shí)候,建議不要勾選 README.md 文件,這樣會(huì)使本地倉(cāng)庫(kù)和遠(yuǎn)程倉(cāng)庫(kù)失去整合性。雖然到時(shí)候可以強(qiáng)制覆蓋,但防止這一情況發(fā)生,還是不要勾選,就創(chuàng)建一個(gè)空倉(cāng)庫(kù)就好。

          git remote 在先寫(xiě)代碼,后創(chuàng)建倉(cāng)庫(kù)的情況下能較好的使用

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

          對(duì)于一般先創(chuàng)倉(cāng)庫(kù),后寫(xiě)代碼的,需要先 pull 下來(lái)倉(cāng)庫(kù),再對(duì)文件進(jìn)行修改

          5.2 git push 推送至遠(yuǎn)程倉(cāng)庫(kù)

          推送至 master 分支

          $ git push -u origin master

          -u 參數(shù)可以在推送的同時(shí),將 origin 倉(cāng)庫(kù)的 master 分支設(shè)置為本地倉(cāng)庫(kù)當(dāng)前分支的 upstream(上游),添加這個(gè)參數(shù),將來(lái)運(yùn)行 git pull 命令從遠(yuǎn)程倉(cāng)庫(kù)獲取內(nèi)容的時(shí)候,本地倉(cāng)庫(kù)的這個(gè)分支就可以直接從 origin 的 masteer 分支獲取內(nèi)容,省去了另外添加參數(shù)的麻煩

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

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

          6 從遠(yuǎn)程倉(cāng)庫(kù)中獲取

          6.1 git clone 獲取遠(yuǎn)程倉(cāng)庫(kù)

          $ git clone git倉(cāng)庫(kù)地址

          將本地的 feature-D 分支更新到最新?tīng)顟B(tài)

          $ git pull origin feature-D
          • 多名開(kāi)發(fā)者在同一個(gè)分支中進(jìn)行作業(yè)時(shí),為減少?zèng)_突情況的發(fā)生,建議更頻繁的進(jìn)行 push 和 pull 操作

          推薦學(xué)習(xí):《Git教程》

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)