Git 是一個(gè)開源的分布式版本控制系統(tǒng)
在學(xué)習(xí)Git需要清楚的幾個(gè)術(shù)語
-Workspace:工作區(qū)
-Index/Stage:暫存區(qū),也叫索引
-Repository:倉庫區(qū)(或本地倉庫),也存儲(chǔ)庫
-Remote:遠(yuǎn)程倉庫
工作區(qū): 通過git init 創(chuàng)建的代碼庫的所有文件但是不包括.git文件(版本庫)
暫存區(qū): 通過git add .//Xxx/Xxxx 添加的修改,都是進(jìn)入到暫存區(qū)了,肉眼不可見 通過 git status 可以看到修改的狀態(tài)。
Git安裝設(shè)置
在Windows上安裝Git
1、安裝包下載地址:https://gitforwindows.org/
2、安裝完成后,在開始菜單里面找到 “Git –> Git Bash”
3、會(huì)彈出一個(gè)類似的命令窗口的東西,在命令行輸入
$ git config --global user.name ""
$ git config --global user.email ""
--global 參數(shù) 表示你這臺(tái)機(jī)器上所有的Git倉庫都會(huì)使用這個(gè)配置
如果在項(xiàng)目中使用其他名字或者電郵,只要去掉 --global 選項(xiàng)重新配置即可,新的設(shè)定保存在當(dāng)前項(xiàng)目的 .git/config 文件里。
要檢查已有的配置信息,可以使用 git config --list 命令:
$ git config --list
創(chuàng)建本地版本庫
1、選擇一個(gè)合適的地方,創(chuàng)建一個(gè)空目錄:
$ cd c:\work //進(jìn)入項(xiàng)目文件夾
$ mkdir learngit //創(chuàng)建空目錄
$ cd learngit //進(jìn)入項(xiàng)目錄
$ pwd //顯示當(dāng)前目錄
2、通過git init命令把這個(gè)目錄變成Git可以管理的倉庫:
$ git init
如果你沒有看到.git目錄,那是因?yàn)檫@個(gè)目錄默認(rèn)是隱藏的,用ls -ah命令就可以看見。
使用我們指定的newrepo目錄作為Git倉庫。
$ git init newrepo
3、編寫一個(gè)readme.txt文件,內(nèi)容如下:
Git is a version control system.
Git is free software.
4、把文件添加到倉庫:
$ git add readme.txt
5、提交文件設(shè)置修改說明
git commit -m '初始化項(xiàng)目版本'
6、運(yùn)行g(shù)it status命令看看結(jié)果
git status
Git 遠(yuǎn)程倉庫(Github)
1、注冊(cè)github
2、使用以下命令生成 SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"
一路回車就行。成功的話會(huì)在 ~/ 下生成 .ssh 文件夾,進(jìn)去,打開 id_rsa.pub,復(fù)制里面的 key。
3、回到 github 上,進(jìn)入 Account => Settings(賬戶配置)。
左邊選擇SSH Keys,Add SSH Key
4、為了驗(yàn)證是否成功,在git bash下輸入:
$ ssh -T git@github.com
如果是第一次的會(huì)提示是否continue,輸入yes就會(huì)看到:You've successfully authenticated, but GitHub does not provide shell access 。這就表示已成功連上github。
5、把本地倉庫的內(nèi)容推送到GitHub倉庫。
$ mkdir runoob-git-test // 創(chuàng)建測(cè)試目錄
$ cd runoob-git-test/ //進(jìn)入測(cè)試目錄
$ echo "git_cs" >> README.md //創(chuàng)建 README.md 文件并寫入內(nèi)容
$ ls // 查看目錄下的文件
$ git init // 初始化
$ git add README.md // 添加文件
$ git commit -m "添加 README.md 文件" //提交并備注信息
6、提交到 Github
$ git remote add origin git@github.com:name/runoob-git-test.git
$ git push -u origin master
7、接下來我們返回 Github 創(chuàng)建的倉庫,就可以看到文件已上傳到 Github上
查看當(dāng)前的遠(yuǎn)程庫
要查看當(dāng)前配置有哪些遠(yuǎn)程倉庫,可以用命令:
$ git remote
$ git remote -v //-v 參數(shù),可以看到每個(gè)別名的實(shí)際鏈接地址。
8、當(dāng)遠(yuǎn)程文件修改后更新到本地
$ git fetch origin //是從遠(yuǎn)程獲取最新版本到本地
$ git merge origin/master //合并分支
查看 README.md 文件內(nèi)容:
$ cat README.md
9、提取遠(yuǎn)程倉庫
Git 有兩個(gè)命令用來提取遠(yuǎn)程倉庫的更新。
1)從遠(yuǎn)程倉庫下載新分支與數(shù)據(jù):
$ git fetch
該命令執(zhí)行完后需要執(zhí)行g(shù)it merge 遠(yuǎn)程分支到你所在的分支。
2)從遠(yuǎn)端倉庫提取數(shù)據(jù)并嘗試合并到當(dāng)前分支:
$ git merge
假設(shè)你配置好了一個(gè)遠(yuǎn)程倉庫,并且你想要提取更新的數(shù)據(jù),你可以首先執(zhí)行 git fetch [alias] 告訴 Git 去獲取它有你沒有的數(shù)據(jù)
然后你可以執(zhí)行 git merge [alias]/[branch] 以將服務(wù)器上的任何更新(假設(shè)有人這時(shí)候推送到服務(wù)器了)合并到你的當(dāng)前分支。
10、推送到遠(yuǎn)程倉庫
推送你的新分支與數(shù)據(jù)到某個(gè)遠(yuǎn)端倉庫命令:
$ git push [alias] [branch]
$ git push origin master //推送到 Github
以上命令將你的 [branch] 分支推送成為 [alias] 遠(yuǎn)程倉庫上的 [branch] 分支
11、刪除/添加遠(yuǎn)程倉庫
刪除遠(yuǎn)程倉庫你可以使用命令:
$ git remote rm [別名]
$ git remote -v //以看到每個(gè)別名的實(shí)際鏈接地址。
添加倉庫 origin2
$ git remote add origin2 git@github.com:name/runoob-git-test.git
刪除倉庫 origin2
$ git remote rm origin2
$ git remote -v