1.什麼是git?
Git是一款免費、開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的專案。Git是一個開源的分散式版本控制系統,用以有效、高速的處理從很小到非常大的專案版本管理。既然你瞭解了什麼是git,那接下來就開始新建屬於自己的git吧。
2.下載和安裝git
- 官網下載地址: git-scm.com/downloads/
- 網盤mac os x: pan.baidu.com/s/1pKFAVrX/ 密碼:
gvmr
版本為git 2.14.1
- 網盤windows: pan.baidu.com/s/1ccwkrW/ 密碼:
ykgy
版本為git 2.14.1
- 下載完成後直接預設安裝就行,安裝完成後可以在終端下輸入
$ git --version
檢視是否安裝成功。
3.註冊github賬號
- 版本控制器的種類很多,這裡我建議選擇github版本控制器
- 開啟官網:github.com 右上角 sign in or sign up 分別為 登入 或註冊,點選 註冊 後,需要填寫一個 username(使用者名稱) 、email(郵箱地址) 和 password(密碼) 填寫完成後一路提交。
4.生成ssh key
- 開啟 mac終端
- 檢查 ssh key
$ cd ~/.ssh
如果存在,先將已有的ssh備份,或者將新建的ssh生成到另外的目錄下,如果不存在,通過預設的引數直接生成ssh生成ssh key
$ ssh-keygen -t rsa -C 727417703@qq.com
期間會提示你輸入key的檔名稱,密碼和確認密碼,一路Enter
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/threebears/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
5. 將ssh key儲存在github中
- 開啟剛剛生成的key檔案
id_rsa.pub
,因為mac以點開頭的檔案系統都是預設隱藏的,我們可以通過macFdinder
前往剛剛儲存key的預設目錄/Users/threebears/.ssh/id_rsa
,其 threebears 為你mac的使用者名稱。- 複製
id_rsa.pub
檔案裡的內容,開啟你的github
,在右上角頭像小圖示中選擇Settings
- 在左側選單欄中找到 SSH and GPG keys ,將剛剛複製的 ssh key 新增進去(ps: title可以忽略不填),儲存成功後你就可以使用 git clone or push 程式碼到 github 倉庫了
- ssh key設定成功後可以在終端使用
ssh -T git@github.com
進行測試,如出現
6. git的基礎使用
git init
用 git init 在目錄中建立新的 Git 倉庫。 你可以在任何時候、任何目錄中這麼做,完全是本地化的。
在目錄中執行 git init,就可以建立一個 Git 倉庫了。比如我們建立 test 專案:$ mkdir test 建立資料夾
$ cd test 跳轉
$ git init 建立git倉庫
$ Initialized empty Git repository in /Users/threebears/test/.git/
在/Users/threebears/test/
目錄下就建立了一個.git
資料夾,這個就是git倉庫。git clone
使用git clone
拷貝一個Git倉庫到本地,讓自己能夠檢視該專案,或者進行修改。
如果你需要與他人合作一個專案,或者想要複製一個專案,看看程式碼,你就可以克隆那個專案。 比如:$ git clone git@github.com:wz1509/GankIo-Kotlin.git
Cloning into 'GankIo-Kotlin'...
remote: Counting objects: 178, done.
remote: Compressing objects: 100% (111/111), done.
remote: Total 178 (delta 41), reused 172 (delta 37), pack-reused 0
Receiving objects: 100% (178/178), 3.48 MiB | 18.00 KiB/s, done.
Resolving deltas: 100% (41/41), done.靜靜等待一段時間就可以克隆到本地,期間如果提示許可權被拒絕,請檢查你的`ssh key`或設定本地git個人資訊:複製程式碼
$ git config --global user.name "your real name" #你的
github
使用者名稱
$ git config --global user.email "xxxxx@gmail.com" #對應的郵箱git add
使用git add
命令可將該檔案新增到快取。如:$ touch test1.txt #建立一個檔案
$ touch test2.txt
$ ls #列出該目錄下所有檔案,包含資料夾和檔案README.md gradle gradlew.bat app gradle.properties img build.gradle gradlew settings.gradle test1.txt test2.txt複製程式碼
$ git status -s #檢視和上次提交之間的狀態
?? test1.txt ?? test2.txt複製程式碼
$ git add test1.txt test2.txt #新增到快取區
$ git status -sA test1.txt A test2.txt複製程式碼
git add .
將所有變化的檔案提交到快取區
git reset HEAD
撤銷已在快取區的檔案git reset HEAD -- test1.txt
git status -s?? test1.txt A test2.txt複製程式碼
git status
檢視在你上次提交之後是否有修改。如果在後面追加-s
則是檢視簡簡訊息,反之檢視詳細資訊。git status
On branch master Your branch is up-to-date with 'origin/master'. Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: test1.txt new file: test2.txt複製程式碼
git status -s
A test1.txt A test2.txt複製程式碼
git diff
檢視最近的改動,比如終端敲上:$ git diff
擷取了部分日誌, 紅色部分前面有個- 代表我刪除的,綠色前面有個+ 代表我增加的
不過git diff
只能比較當前檔案和快取區檔案之間的差異。git branch
檢視當前分支列表。比如一個專案需要一個團隊共同去完成,這個時候就要用到分支來分配各自的任務。$ git branch #檢視當前分支列表
$ git branch wz #新建一個wz
分支
$ git checkout wz #切換到wz
分支
$ git branch -d wz #刪除wz
分支,如果-d換成-D就是強制刪除
$ git checkout -b wz #新建並切換到wz分支吻醒提示:圖中的*和綠色代表當前所在分支。
⚠️注意1:如果你在wz分支內,那麼不能刪除wz分支,需要現切換到master後再刪除wz分支。
⚠️注意2:新建的分支是在你當前所在的分支基礎上進行的。比如你在master分支上新建了wz分支,那麼wz就和master內容完全一致。- git commit
使用git commit
將快取區內容新增到倉庫中。git commit -m "新增兩個測試檔案" #後面的文字為提交日誌,建議每次提交到倉庫都要寫提交日誌。
- git pull origin master
把遠端倉庫程式碼合併,以保證兩端同步。 - git push origin master
把原生程式碼提交到github倉庫master分支。一般在push前都會先pull,這樣不容易造成衝突。
第一篇部落格,markdown語法不太熟練,如果有什麼問題可以聯絡我,謝謝!
QQ:727417703 郵箱:727417703@qq.com複製程式碼
我的部落格:wz1509.github.io/