日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一篇文章看懂Git是什么以及如何简单的上手Git

發布時間:2023/12/4 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一篇文章看懂Git是什么以及如何简单的上手Git 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文來自DotNET技術圈

作者:顯杰

1.Git是什么

Git是目前世界上==最先進的分布式版本控制系統==

什么是版本控制系統?

好比設計師從開始設計第一個版本的設計稿開始:

Demo => Demo1 => Demo2 => ... =>Demo1001 => Demo最終版本 => Demo最終確認版本!

但是改了這多設計師也不記得每個版本之間都改了些啥

如果能有一個軟件,能每次記錄文件之間的改動,并且還能協調多個用戶編輯,所以就出現了Git

==Git是分布式版本控制系統,那么他們就沒有中央服務器的,每個人的電腦就是一個完整的版本庫==,這樣,工作的時候就不需要聯網了,因此版本都是在自己的電腦上,既然每個人的電腦都有一個完整的版本庫,那么多個人如何協作呢,比如自己在電腦上,更改了文件A,其他人也在電腦上改了文件A,這時候,你們兩之間只需要把各自的修改推送給對方,就可以互相看到對方的修改了


2.Git與Github的區別

==Git簡單的說其實就是一個軟件==,用于記錄一個或若干個文件內變化,以便將來查詢特定版本修訂情況的軟件

==Github(https://www.github.com)是一個為用戶提供Git服務的網站==,就是一個可以存放代碼的地方,當然可以放的不只是代碼,Github除了提供管理Git的web界面外,還提供了訂閱,關注,討論組,在線編輯器等豐厚的功能

3.Git的安裝

在這里插入圖片描述

4.Git的使用

1. 本地倉庫:

?1.1 工作流程

在這里插入圖片描述在這里插入圖片描述

工作區寫好的文件通過工作區轉移到暫存區(相當于背包)如何一次性把暫存區的文件轉移到Git倉庫,為什么要有一個暫存區呢,因為不可能工作區的文件一次次的從工作區把文件直接運到Git倉庫,而因該一次性全部運過去,減少了消耗嘛


1.1.2 本地倉庫操作?什么是倉庫呢?倉庫有名版本庫,英文名是Repository,我們可以簡單理解成是一個目錄,用于存放代碼的,這個目錄里面的所有文件都可以被Git管理起來,每個文件的修改,刪除等操作Git都等跟蹤到。安裝好后,首次使用需要先進行全局配置桌面空白地方右鍵,點擊“Git Bash Here” 打開Git命令行窗口
==Git config -global user.name "用戶名" Git config -global user.email "郵箱"==

在這里插入圖片描述

當我們需要Git去管理某個新項目/已經存在項目的時候,就需要創建倉庫了,注意:創建倉庫的時候使用的目錄不一定要求是空目錄,選擇一個非空目錄也是可以的。A.創建空目錄

mkdir 文件名

B.在命令行中進入項目目錄

cd 文件路徑/文件名稱

C git文件夾初始化到選中的文件夾中

git init

在這里插入圖片描述

D Git常用指令操作

查看當前狀態:git status [非必要]添加到緩存區:git add 文件名

說明:git add指令,可以添加一個文件,也可以同時添加多個文件。 語法1:git add 文件名
語法2:git add 文件名1 文件名2 文件名3 …
語法3:git add . [添加當前目錄到緩存區中]
提交至版本庫:git commit -m "注釋內容"
在后續對于文件(可以操作1個或多個)操作之后,重復使用 git add與git commit指令即可

1.版本回退?版本回退分為兩步驟進行操作:

查看版本,確定需要返回的時刻點:指令: Git log 和 Git log --pretty=oneline

效果如下

在這里插入圖片描述

)

在這里插入圖片描述

回退操作指令: Git reset --hard 版本號

如果,回到過去之后,要想再回來到之前最新的版本的時候,這需要使用指令,得到最新的commit id。指令:

get reflog

在這里插入圖片描述

**小結:**

i. 想要回到過去,必須先得到 commit id,然后通過 git reset -hard 進行回退
ii. 想要回到未來,需要先使用 git reflog 查看歷史記錄,得到最新的commit id;
iii.在寫回退指令的時候 commit id可以不用寫全,git自動識別,但是也不能寫太少,至少需要寫前4位字符

1.遠程操作Github?3.1.?兩種常規使用方式?==基于http協議==1.創建空的目錄Stop2.使用clone指令克隆線上倉庫到本地 語法:git clone

在這里插入圖片描述在這里插入圖片描述

3..在倉庫上做對應的操作(提交暫存區,提交本地倉庫,提交線上倉庫,拉取線上倉庫) 提交到線上倉庫指令:

git push

在這里插入圖片描述

在首次往線上倉庫shop提交內容的時候出現了403的致命錯誤,原因是因為不是任何人都可以往我這兒線上倉庫提交內容,必須需要鑒權需要在.git 里面 config里面進行修改

在這里插入圖片描述

格式為:賬號:密碼@。如果看到如下則成功,可以看到github中文件已經增加

在這里插入圖片描述

拉取線上倉庫指令:

git pull

在這里插入圖片描述在這里插入圖片描述

提醒:?在每天工作的第一件事就是先 git pull 拉取線上最新的版本,每天下班前要做的是 git push 將本地代碼提交到線上倉庫中


==基于ssh協議== 該方式與前面的https方式相比,只是影響github對于用戶的身份鑒權方式,對于git的具體操作(如提交本地,添加注釋,提交遠程等操作)沒有任何影響。

1. 生成公私鑰對指令(需先自行安裝OpenSSH) ssh-keygen -t rsa -C "注冊郵箱" ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20191128131801924.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMjUxNTk2,size_16,color_FFFFFF,t_70) 2. 上傳公鑰文件內容(id_rsa.pub) ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20191128131841658.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMjUxNTk2,size_16,color_FFFFFF,t_70) 3. 繼續克隆,完成http一樣的操作 ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20191128131926803.png)在這里插入圖片描述

1.分支管理?什么是分支?

在這里插入圖片描述

在版本回退的時候,每次提交后都會有記錄,Git把他們串成時間線,形成類似于時間軸的東西,這個時間軸就是一個分支,我們稱之為==master分支(主分支)==分支相關指令:==1.查看分支:git branch==

![在這里插入圖片描述](https://img-blog.csdnimg.cn/20191128132210631.png)

==2.創造分支:git branch 分支名==

![在這里插入圖片描述](https://img-blog.csdnimg.cn/20191128132336987.png)

==3.切換分支:git checkout 分支名==

![在這里插入圖片描述](https://img-blog.csdnimg.cn/20191128132414201.png) ![在這里插入圖片描述](https://img-blog.csdnimg.cn/2019112813242214.png) ![在這里插入圖片描述](https://img-blog.csdnimg.cn/20191128132430693.png)

當我切換到master的時候

在這里插入圖片描述

![在這里插入圖片描述](https://img-blog.csdnimg.cn/20191128132454956.png)

發現并沒有修改對于新分支可以使用==git checkout -b 分支名== 指令來切換分支 -b 表示創建并切換,相當于2個操作==4.分支并和指令 git merge 分支名==

![在這里插入圖片描述](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMTkxMTI4MTMyNzQzOTYxLnBuZw?x-oss-process=image/format,png)

當我合并dev的時候 ,發現文件就進行整合,已經有修改后的一行。

在這里插入圖片描述

== 5. 刪除分支 git branch -d 分支名== 刪除分支之前,先要退出到要刪除的分支(不然刪除不掉的)

在這里插入圖片描述

2.沖突的產生于解決?比如,我下班后已經push代碼到線上,走了,而我之后,有同事A在線上修改了代碼,多加了一行

在這里插入圖片描述

但是第二天,上班我本機代碼,并不會顯示同事修改的,但是我又在本機增加了一行。

![在這里插入圖片描述](https://img-blog.csdnimg.cn/20191128133300503.png)

當我第二天下班后,準備將我寫的代碼去push后,就會發現。

在這里插入圖片描述在這里插入圖片描述

就會提示我,先要我pull一下,得到數據再提交。==【沖突解決的辦法】==先git pull

在這里插入圖片描述在這里插入圖片描述

打開沖突文件,解決沖突 解決方法:需要和同事(誰先提交的)進行商量,看代碼如何保留,將改好的文件再次提交即可

在這里插入圖片描述

5.忽略文件

場景:在項目目錄下有很多萬年不變的文件目錄,例如Css,js,images等,或者還有以謝目錄即使有變動,我們也不想讓其提交到遠程倉庫的文檔,此時我們可以使用“忽略文件”機制來實現

忽略文件需要新建一個==名為.gitignore的文件==,該文件用于申明忽略文件或不忽略文件的規則,規則對當前目錄及其子目錄生效。

注意:該文件因為沒有文件名,沒辦法直接在windows目錄下直接創建,可以通過命令行GitBash來==touch XXX== 創建

在這里插入圖片描述

常見規則寫法有如下幾種:| 規則寫法 | 效果 | ---- | ---- | | /mtk | 過濾整個文件夾 | | *.zip | 過濾所有.zip文件 | | /mtk/do.c | 過濾某個具體文件 | | !index.phx | 不過濾具體某個文件 |

總結

以上是生活随笔為你收集整理的一篇文章看懂Git是什么以及如何简单的上手Git的全部內容,希望文章能夠幫你解決所遇到的問題。

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