1. 程式人生 > 實用技巧 >Git 必知必會《上》

Git 必知必會《上》

歡迎關注【無量測試之道】公眾號,回覆【領取資源】,
Python程式設計學習資源乾貨、
Python+Appium框架APP的UI自動化、
Python+Selenium框架Web的UI自動化、
Python+Unittest框架API自動化、

資源和程式碼 免費送啦~
文章下方有公眾號二維碼,可直接微信掃一掃關注即可。

1、什麼是Git

Git 是一個開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的專案。

Git 是 Linus Torvalds 為了幫助管理 Linux 核心開發而開發的一個開放原始碼的版本控制軟體。

Git 與常用的版本控制工具 CVS, Subversion 等不同,它採用了分散式版本庫的方式,不必伺服器端軟體支援。

2、如何安裝

本文以windows 平臺安裝為示例進行講解,安裝包下載地址:https://gitforwindows.org/,下載下來後是一個exe可執行包,詳細的安裝過程這裡不演示。

3、如何使用

命令之一:git config

 1 git config 命令用來配置git的配置檔案,git配置級別主要有以下3類:
 2  
 3 1.倉庫級別 local 【優先順序最高】git config --local -l 檢視倉庫配置
 4  
 5 2.使用者級別 global【優先順序次之】git config --global -l 檢視使用者配置
 6  
 7 3.系統級別 system【優先順序最低】git config --system -l 檢視系統配置
8 9 git config --global user.email [email protected] #增加一個配置項 10 11 git config [--local|--global|--system] --get section.key(預設是獲取local配置中內容) #獲取一個配置項 12 13 git config [--local|--global|--system] --unset section.key #刪除一個配置項 14 15 $ git config --list 16 17 diff.astextplain.textconv=astextplain
18 filter.lfs.clean=git-lfs clean -- %f 19 filter.lfs.smudge=git-lfs smudge -- %f 20 filter.lfs.process=git-lfs filter-process 21 filter.lfs.required=true 22 http.sslbackend=openssl 23 http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt 24 core.autocrlf=true 25 core.fscache=true 26 core.symlinks=false 27 pull.rebase=false 28 credential.helper=manager

命令之二:git clone

 1  
 2 $ mkdir zentao_project #建立專案目錄
 3 $ cd zentao_project #進入專案目錄
 4 $ ssh-keygen.exe # 生成公鑰
 5 Generating public/private rsa key pair.
 6 Enter file in which to save the key (/c/Users/tdcengineer/.ssh/id_rsa):
 7 Enter passphrase (empty for no passphrase):
 8 Enter same passphrase again:
 9 Your identification has been saved in /c/Users/tdcengineer/.ssh/id_rsa
10 Your public key has been saved in /c/Users/tdcengineer/.ssh/id_rsa.pub
11 The key fingerprint is:
12 SHA256:7vf10KJ+xduQgviN23fUSFtcjn2nGfXC/BGolWzTVpE tdcengineer@DESKTOP-U4OR066
13 The key’s randomart image is:
14 +—-[RSA 3072]——+
15 | . +.=|
16 | B Eo|
17 | +oo+|
18 | . B.O|
19 | S. . . %=|
20 | .. . . B.|
21 | .. o .+++|
22 | . +..oo=o|
23 | …+=o ..|
24 +——[SHA256]——-+
25  
26 $$ cat ~/.ssh/id_rsa.pub
27 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDSGnLxdJ88zyQFH/gXH7EwtoM5JxEMhoU5F9bZqTBxdoyZnjLZUGzzVydzD0GBcneOgyi/E9WrdnHe/lcqK+/WiWSUga3UVlNa5MSJyzsasMKhswelRdwGNtPPogg87F2nnRf5DDyaNqTgWzwGjTqDMXE9JPmqqdnEfiBl/nwPikhIEbCXniwN2P9u4mP8MajQRAUu8FE7UsiG+t/NrD5Y2MGUYyuDXkzffq5x6cR+8ZANFBIJXmKVmZzjAcdYSNbn+O8HEJdiCKZgPn7rUHn2K11P+ts1caUZKnTDnIOiISm1bi7YzYjF8RB+OhufJ2TGHrBVWPgNChZFdcniT/IaMzo2YsCDOAluBs51TokQoszC+f1x2qEP/T5F/cd8zeVi/HHDWkHWp1aVJF0QixL3Q2YMzzG6TlECybA9jgLcBJksdz/QAto5RRdGqqPV/zoOwHt24ng93CDJlzkEuatbcQDMN9j9xu0WUxgIB/y7smlAOAiYlgefL9BUKxPFcWE= tdcengineer@DESKTOP-U4OR066
28  
29 將此公鑰貼上到git平臺的—》user setting —》ssh keys —》key 這個文字框架,再輸入title —》點選 【Add key】即可
30 $ git clone [email protected]:cm/zentaopms.git
31 Cloning into ‘zentaopms’…
32 remote: Enumerating objects: 338, done.
33 remote: Counting objects: 100% (338/338), done.
34 remote: Compressing objects: 100% (162/162), done.
35 remote: Total 5506 (delta 183), reused 299 (delta 151)
36 Receiving objects: 100% (5506/5506), 6.96 MiB | 1.22 MiB/s, done.
37 Resolving deltas: 100% (2315/2315), done.
38 Updating files: 100% (2674/2674), done.
39 clone 專案成功。

命令之三:git add

1  
2 此命令是將專案中未被跟蹤的檔案都加入到倉庫中,它不提交這些檔案,而只是讓git開始關注他們
3 $ mkdir wl #在匯入的工程目錄下建立一個目錄
4 $ cd wl #進入到建立的目錄
5 $ cp /d/BaiduNetdiskDownload/ows-project/wechat/getemailss.py . #copy一個py檔案到此目錄下

命令之四:git status

 1 檢視專案的狀態時候,輸出的都是我們位於分支master上,接下里的輸出表明專案在特定時間的快照。
 2 $ git status
 3 On branch master
 4 Your branch is up to date with 'origin/master'.
 5 nothing to commit, working tree clean
 6 操作完成命令二後,再來看看git status 有什麼不同:
 7 $ git status
 8 On branch master
 9 Your branch is up to date with 'origin/master'.
10 Changes to be committed:
11 (use "git restore --staged <file>..." to unstage)
12 new file: getemailss.py  #這裡檢查到專案有新增py檔案

命令之五:git commit

我們在執行 git commit -m “add a python file” 的時候會拍攝專案的快照以記錄程式碼庫中所做的任何修改。git commit命令-m後面輸入的是本次提交的說明,可以輸入任意內容,當然最好是有意義的說明本次提交的內容的說明,這樣你就能從歷史記錄裡方便地找到改動記錄。

1  
2 $ git commit -m “add a python file”
3 [master cf7d8c4] add a python file
4 1 file changed, 175 insertions(+)
5 create mode 100644 module/wl/getemailss.py

命令之六:git log

我們需要檢視提交歷史,就可以使用 git log 命令檢視

 1 $ git log
 2 commit ed599a2e597e3224665ef81822021e7c0ea4a0d1 (HEAD -> master, origin/master, origin/HEAD)
 3 Author: test.yan <[email protected]>
 4 Date: Wed May 27 17:36:31 2020 +0800
 5  
 6  
 7 執行了命令五後我們再來看看git log 的輸出是什麼:
 8 $ git log
 9 commit cf7d8c46861f2291a859b10a2a939bbac9229eea (HEAD -> master)
10 Author: testaaa<[email protected]>
11 Date: Sun Aug 2 10:49:57 2020 +0800
12  
13 add a python file  #這個就是剛才的-m 後面的內容
14  
15 commit ed599a2e597e3224665ef81822021e7c0ea4a0d1 (origin/master, origin/HEAD)
16 Author: test.yan <[email protected]>
17 Date: Wed May 27 17:36:31 2020 +0800

備註:我的個人公眾號已正式開通,致力於測試技術的分享,包含:大資料測試、功能測試,測試開發,API介面自動化、測試運維、UI自動化測試等,微信搜尋公眾號:“無量測試之道”,或掃描下方二維碼:

新增關注,讓我們一起共同成長!