Git时间
1、Git是目前世界上最先進的分布式版本控制系統。和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦里都有完整的版本庫,某一個人的電腦壞掉了不要緊,隨便從其他人那里復制一個就可以了。而集中式版本控制系統的中央服務器要是出了問題,所有人都沒法干活了。
安裝好Git后在Git CMD命令行輸入如下配置身份:
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"配置完成后可以使用同樣的命令去掉名字和郵箱查看是否配置成功。
2、創建版本庫
在Git CMD命令行下切換到工作目錄(F:切換到F盤,跟dos一樣)
使用mkdir創建文件夾,cd 進入到learngit文件夾,pwd查看當前工作文件夾。
$ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit $ git init建倉庫。目前 是一個空的倉庫(empty Git repository),細心的讀者可以發現當前目錄下多了一個 .git 的目錄,這個目錄是Git來跟蹤管理版本庫的,沒事千萬不要手動修改這個目錄里面的文件,不然改亂了,就把Git倉庫給破壞了。
3、
git status查看當前狀態。使用最頻繁,在修改工作區內容后可以使用它查看。
git commit -m "add readme.txt"提交readme.txt,-m添加對其的描述說明。
cat readme.txt查看文本內容。
git log查看歷史記錄。
git reflog主要用于查看之前版本號
4、撤銷修改
修改了還沒add可以使用命令撤銷這個修改
git checkout -- readme.txt
add了還沒commit可以用命令將暫存區的修改撤銷。 再使用上一個命令就可以將文本文件修改的內容撤銷
git reset HEAD readme.txt
5、刪除與恢復
刪除已經提交的文件。
rm readme.txt發現刪除錯誤,還可以用命令恢復,此時文本還在暫存區,可以恢復。
git checkout -- readme.txt6、Git與GitHub
這個網站就是提供Git倉庫托管服務的,只要注冊一個GitHub賬號,就可以免費獲得Git遠程倉庫。
由于本地Git倉庫和GitHub倉庫之間的傳輸是通過SSH加密的,所以,需要一點設置:
第1步:創建SSH Key。在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa和id_rsa.pub這兩個文件,如果已經有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開Git Bash),創建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"把郵箱地址換成自己的地址一路回車。可以在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰。
第2步:登陸GitHub,打開“Account settings”,“SSH Keys”頁面:
然后,點“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內容:
首先,登陸GitHub,然后,在右上角找到“Create a new repo”按鈕,創建一個新的倉庫:
在Repository name填入learngit,其他保持默認設置,點擊“Create repository”按鈕,就成功地創建了一個新的Git倉庫:
目前,在GitHub上的這個learngit倉庫還是空的,GitHub告訴我們,可以從這個倉庫克隆出新的倉庫,也可以把一個已有的本地倉庫與之關聯,然后,把本地倉庫的內容推送到GitHub倉庫。
現在,我們根據GitHub的提示,在本地的learngit倉庫下運行命令:
$ git remote add origin git@github.com:michaelliao/learngit.git注意,把上面的michaelliao替換成自己的GitHub賬戶名。
添加后,遠程庫的名字就是origin,這是Git默認的叫法,也可以改成別的,但是origin這個名字一看就知道是遠程庫。
下一步,就可以把本地庫的所有內容推送到遠程庫上:
$ git push -u origin master Counting objects: 19, done. Delta compression using up to 4 threads. Compressing objects: 100% (19/19), done. Writing objects: 100% (19/19), 13.73 KiB, done. Total 23 (delta 6), reused 0 (delta 0) To git@github.com:michaelliao/learngit.git* [new branch] master -> master Branch master set up to track remote branch master from origin.把本地庫的內容推送到遠程,用git push命令,實際上是把當前分支master推送到遠程。
由于遠程庫是空的,我們第一次推送master分支時,加上了-u參數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令。
推送成功后,可以立刻在GitHub頁面中看到遠程庫的內容已經和本地一模一樣:
從現在起,只要本地作了提交,就可以通過命令:
$ git push origin master把本地master分支的最新修改推送至GitHub,現在,你就擁有了真正的分布式版本庫!
SSH警告
當你第一次使用Git的clone或者push命令連接GitHub時,會得到一個警告:
The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established. RSA key fingerprint is xx.xx.xx.xx.xx. Are you sure you want to continue connecting (yes/no)?這是因為Git使用SSH連接,而SSH連接在第一次驗證GitHub服務器的Key時,需要你確認GitHub的Key的指紋信息是否真的來自GitHub的服務器,輸入yes回車即可。
Git會輸出一個警告,告訴你已經把GitHub的Key添加到本機的一個信任列表里了:
Warning: Permanently added 'github.com' (RSA) to the list of known hosts.這個警告只會出現一次,后面的操作就不會有任何警告了。
6、將遠程庫GitHub上的庫克隆到本地庫(自己電腦上)
上面講了先有本地庫,后有遠程庫的時候,如何關聯遠程庫。
現在,假設我們從零開發,那么最好的方式是先創建遠程庫,然后,從遠程庫克隆。
首先,登陸GitHub,創建一個新的倉庫,名字叫gitshills:
我們勾選Initialize this repository with a README,這樣GitHub會自動為我們創建一個README.md文件。創建完畢后,可以看到README.md文件:
現在,遠程庫已經準備好了,下一步是用命令git clone克隆一個本地庫:
$ git clone git@github.com:michaelliao/gitskills.git Cloning into 'gitskills'... remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 0 (delta 0) Receiving objects: 100% (3/3), done.$ cd gitskills $ ls README.md然后進入gitshills目錄看看,已經有README.md文件了。
總結
- 上一篇: iPhone12 扬声器有杂音怎么办
- 下一篇: 如何将蓝牙鼠标或触控板连接到 iPad