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=astextplain18 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自動化測試等,微信搜尋公眾號:“無量測試之道”,或掃描下方二維碼:
新增關注,讓我們一起共同成長!