程序猿必備的Git基本技能

 

Git是一個優秀的版本管理工具,gitHub是一個公共的倉庫,可以將代碼保存在雲端~Git和GitHub的搭配讓廣大程序猿們可以一起和諧愉快地敲代碼啦~(參考了:https://www.liaoxuefeng.com/wiki/896043488029600/896067074338496,謝謝)

目錄

一、下載與安裝

二、修改基本配置

1、設置用戶名與郵箱

2、修改GitBash的用戶主目錄

3、設置倉庫位置

三、開始管理本地文件

1、注意

2、開始管理

3、分支

4、查看日誌與回滾

5、撤銷修改

四、開啓遠程倉庫

1、註冊一個gitHub的賬號

2、生成SSH碼並保存到GitHub相關配置中

3、建立遠程連接

4、把代碼發到遠程倉庫

5、從遠程倉庫拉取代碼

6、處理衝突

7、多人協作時的好習慣


一、下載與安裝

下載地址:https://git-scm.com/downloads

選擇你的操作系統,下載對應版本,一路默認安裝就好啦

 

二、修改基本配置

1、設置用戶名與郵箱

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
  • 查看用戶名與郵箱
$ git config user.name
$ git config user.email

2、修改GitBash的用戶主目錄

環境變量》新增》Home:D:/your_workPlace

3、設置倉庫位置

實際上,步驟二就已經設置了倉庫位置啦,但還要初始化一下,有兩種方法

  • 方法1:打開你想要設置倉庫的位置,右鍵git bash,然後輸入指令:git init
  • 方法2:在git bash中按如下順序操作
cd /G              |進入目標磁盤
mkdir gitPro       |創建文件夾
cd gitPro          |進入該文件夾
pwd                |當前文件夾路徑
git init           |將該文件夾設置爲倉庫

 

三、開始管理本地文件

1、注意

  • 版本控制系統只能跟蹤文本文件的改動,比如TXT文件,網頁,所有的程序代碼,沒法跟蹤Word文件的改動
  • Git優秀之處在於:Git跟蹤並管理的是修改,而非文件。屬於增量型~
  • 爲了避免編碼問題,建議使用notepad++創建txt,而非window自帶的方式創建

2、開始管理

(1)單個添加

  • 在倉庫目錄下創建一個文件,例如:try.txt
  • 右鍵打開git bash,鍵入兩句指令就可以了
    • 第一句,將文件放到暫存區,輸完回車:git add try.txt   
    • 第二句,提交至本地倉庫,-m"信息"最好寫上,否則會出現討厭的vim界面:git  commit -m"可以是中文哦"

(2) 批量添加

  • 按文件夾添加:git add 文件夾/
  • 按類型添加:git add *.文件類型
  • 添加全部:git add -A
  • 添加全部:git add .
  • 可以add 多個然後一起commit
  • add和commit合併一起:git commit -am"信息"

(3) 暫存區與本地倉庫的原理

  • 工作區:在電腦裏能看到的目錄,如work_place
  • 版本庫:.git隱藏文件。其中存儲了很多東西:
    • ·stage/index 暫存區
    • master分支:git爲我們主動創建的第一個分支
    • HEAD:指向master的一個指針

3、分支

我們可以在不同的分支上工作,就放佛拷貝了原文件的一個副本,然後盡情地修改,而不要擔心會丟失、損壞原來的文件。

“提倡使用子分支:創建、合併和刪除分支非常快,所以Git鼓勵你使用分支完成某個任務,合併後再刪掉分支,這和直接在master分支上工作效果是一樣的,但過程更安全。”

(1) 創建分支:git branch  yourBranchName

(2) 切換分支:git checkout  yourBranchName

(3) 合併以上,創建並切換分支:git checkout -b  yourBranchName

(4) 查看分支:git branch

(5) 刪除分支:git branch -d   yourBranchName

(6)合併某分支到當前分支:git merge yourBranchName

4、查看日誌與回滾

查看過去的日誌可以知道自己做了什麼,然後根據日誌的名稱,可以讓文件恢復到過去的狀態

(1)最原始的查看日誌(不推薦,因爲太詳細了!):git log

(2)只看簡要信息(推薦):git log  --pretty=oneline

(3)推出log狀態:Q

日誌中那一長串黃色字符,是日誌的名字,根據它來定位要回滾的位置,不用擔心名字太長,可以只輸入前面的幾位,開始回滾啦!

(1) 回滾到指定位置:git reset --hard e9f072

(2)回滾到上一版本:git reset --hard HEAD^

(3)回滾到上上一版本:git reset --hard HEAD^^

如果又反悔了,要回滾到“將來”怎麼辦——通過git reflog查看每一次命令對應的版本號,從而還原

5、撤銷修改

(1) 撤銷工作區:讓文件回到最近一次git commit或git add時的狀態。(將沒有add到暫存區的修改全部撤銷)

git checkout --yourfile

(2)把暫存區的修改撤銷掉(unstage),重新放回工作區

git reset HEAD yourfile

 

四、開啓遠程倉庫

1、註冊一個gitHub的賬號

這個不說啦

2、生成SSH碼並保存到GitHub相關配置中

什麼要SSH Key:因爲GitHub需要識別出你推送的提交確實是你推送的,而不是別人冒充的,而Git支持SSH協議,所以,GitHub只要知道了你的公鑰,就可以確認只有你自己才能推送。

允許多個Key:假定你有若干電腦,你一會兒在公司提交,一會兒在家裏提交,只要把每臺電腦的Key都添加到GitHub,就可以在每臺電腦上往GitHub推送了。

(1)指令:ssh-keygen -t rsa -C "[email protected]"

如果沒有更改用戶目錄,則生成的.shh文件在C:/user的目錄下哦,更改目錄的方法往上翻

(2) 打開.shh文件夾,其中.pub是公鑰,即我們要保存到GitHub中的SSH Key

用notepad++打開,然後複製

(3) 打開gitHub的setting,選擇SSH and GPG Keys,點擊new SSH Key,title隨便取一個,自己記得的,再將公鑰粘貼到框框中。

3、建立遠程連接

情景:你已經在本地創建了一個Git倉庫後,又想在GitHub創建一個Git倉庫,並且讓這兩個倉庫進行遠程同步,這樣,GitHub上的倉庫既可以作爲備份,又可以讓其他人通過該倉庫來協作。

(1) 將本地主分支與遠程倉庫鏈接:

  • 創建遠程連接,名字叫做origion:$ git remote add origin [email protected]:yourGitHubName/yourRepositoryName.git
  • 首次將當前分支內的文件推送到遠程服務器:$ git push -u origin master 

第一次連接時可能會報錯:he authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.  點yes就行了

-u參數的作用:第一次連接遠程庫的時候加上,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以後的推送或者拉取時就可以簡化命令。

(2) 創建本地分支,並與遠程某分支連接

  • 創建遠程origin的dev分支到本地:git checkout -b dev origin/dev   
  • 本地和遠程分支的名稱最好一致;

 

4、把代碼發到遠程倉庫

(1) 完整指令:git push origin <branch-name>

(2)如果當前分支就是對應的遠程的那個分支,則直接:git push

 

5、從遠程倉庫拉取代碼

(1) 第一次克隆:git clone [email protected]:yourGitHubName/yourRepositoryName.git

(2)已經建立過連接了,且當前分支和遠程分支相對應:git pull

 

6、處理衝突

(1) 查看衝突的文件:git status

(2)圖形化管理工具,此處推薦小烏龜工具:https://tortoisegit.org/

(3)出現vim界面怎麼辦?

我曾經試着去輸入一些信息,但總是失敗……甚至給下一次push帶來了困難,於是放棄了……

自暴自棄的方案:shift+;     再輸入wq,就是保存退出。如果是wq!,就是不保存退出

 

7、多人協作時的好習慣

(1)幹完活記得先add、再commit、接着pull、最後push

(2)新的一天開始了,先pull,再開始幹活!

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章