github初體驗html
1 建立遠程倉庫
登陸github https://github.com/ 創建一個新的存儲庫:點擊new repositoriesgit
a ,在Repository name處填入倉庫名字,例如hellogit,選擇b不是公開的).b, 在Description處能夠對這個遠程倉庫寫一個描述(可選),c, 選中Initializethis repository with a README,這樣GitHub會自動爲咱們建立一個README.md文件。d, 點擊create repository按鈕便成功建立了一個遠程倉庫。github
2 從遠程clone一個倉庫/repository分佈式
用git clone命令克隆一個本地庫。a, 在本地建一個空文件夾(文件名英文),例如testgit,鼠標右鍵,選擇Git Bush here,輸入命令 $ git clone git@github.com:xiakejie/hellogit.git 網站
打開咱們剛克隆的遠程倉庫,裏面有一個README.cd文件,用notepad++打開可看到文件內容,同咱們github是同樣的(notepad++是一個文本閱讀器,下載連接:https://notepad-plus-plus.org...this
git初體驗spa
1 建立版本庫3d
本地電腦建立一個空目錄(英文命名),例如localgit,空目錄下鼠標右鍵,選擇Git Bush here,運行下列命令版本控制
這樣,咱們便在本地建立了一個名爲loacalgit的版本庫(倉庫)htm
2 給版本庫添加文件
上步建立的版本庫是空的。如今咱們在loacalgit版本庫添加一個文件,是的,就在本地loacalgit版本庫目錄下新建一個文本文件,例如filegit.txt,用notepad++打開,隨意編輯一些內容保存。
如今filegit.txt只是咱們本地的一個文件,但他在localgit版本庫內,版本庫內的全部文件均可以被git管理起來,那麼咱們就能夠將filegit.txt文件添加到版本庫了。首先,將文件添加到版本庫。注意我圖片的目錄
而後將filegit.txt文件提交到版本庫,一樣在剛纔的目錄下
命令中的-m 是對本次提交的一個說明。
3 淺析$ git add <file> 與$ git commit
上節咱們知道提交文件是分兩步的,那麼add commit分別做用的對象是什麼呢?git既然做爲分佈式版本控制系統,那我理解的分佈應該這裏算是吧。git在提交文件時,是分步提交的,第一步也就是git add是把‘修改’的文件從「工做區」提交到暫存區,第二步也就是git commit是把暫存區‘全部’修改的文件提交到「當前分支」。工做區就是指咱們本地的文件夾,分支是在建立版本庫時$ git init後git爲咱們自動建立的分支master(往上翻圖能夠看見)。
熟能生巧,再來一次。$ git status查看工做區狀態。新建一個文件,secondfile.txt。隨意編寫內容。爲filegit.txt增長一句內容。更改文件內容,但沒有提交到暫存區,咱們能夠觀察到本地文件管理器中文件的特徵符號是這樣的:
$git status查看工做區狀態
運行命令後咱們能夠看到,未提交的更改filegit.txt和沒有跟蹤的secondfile.txt文件(Git瞭解secondfile.txt的存在但沒有指示跟蹤該文件)。仔細觀察,git給予咱們操做提示('use')。此時針對filegit.txt,咱們能夠$ git add <file>將其從工做區提交到暫存區,也能夠$ git checkout -- <file>放棄工做目錄的修改(將修改刪除,使filegit.txt回到未更改前狀態。當你不想要此修改時,能夠執行此命令).這裏咱們先$ git checkout --filegit.txt
$ git checkout -- <file>
做用,未$ git add前,放棄工做區的修改
咱們繼續看$ git status。再次更改filegit.txt內容。
運行命令$ git status
這下咱們便把兩個文件都提交到暫存區,而且都提交到了分支,注意觀察本地filegit.txt文件的圖標的!也不見了。咱們再次運行$ git status
提示信息說明工做區是乾淨的(你沒有修改工做區)。
4 git 強大的管理功能
咱們按照一個文件的生命歷程來循跡。所謂的管理功能,咱們暫時理解爲容錯功能吧。
git add前
git checkout -- <file>————這時filegit.txt就像一個小孩剛出生,愛怎麼鬧就怎麼鬧,大人容許你犯無數的錯。此時,就像寫word文檔同樣,在你本地,想怎麼改就怎麼改。另外一種狀況以前講過,就是filegit.txt在本地修改了,而且在本次修改前git add過,你想一鍵還原到上次git add前的樣子,那麼git提供git checkout -- <file>容許你一鍵還原。
git add後git commit前
git reset HEAD <file>————咱們在filegit.txt增長一些文本,並把filegit.txt提交到暫存區。此刻發現增長的文本有錯誤,怎麼辦。git add以後表明着修改了暫存區中filegit.txt,git reset HEAD <file>能夠將暫存區的修改撤銷,至關你這次沒有git add
$ git diff HEAD -- <file>————用來查看工做區和最新版本庫的區別。此時git reset HEAD後,暫存區「等於」最新版本庫,從圖得知工做區比暫存區/版本庫多了一行"git add後git commit前"
git commit後
$ git reset -- hard HEAD~n——回退至n版本,HEDA表明當前最新版本,HEAD^表明上一版本,HEAD^^帶表上上版本。此時咱們將'git add後git commit前'剛纔這一修改提交到分支後發現,應將修改錯誤,正確的修改應該是'git commit後'。執行$ git reset -- hard HEAD^回退至上一版本,從新修改提交。
從圖片中咱們能夠清楚看到先後變化。
關聯遠程庫github
1 本地倉庫關聯遠程倉庫
在朝陽篇咱們已經知道如何在github網站建立一個倉庫。如今咱們在github上建立一個倉庫——remotegit。咱們將這個遠程倉庫與咱們以前建的localgit關聯。
在本地localgit目錄下運行命令:$ git remote add origin git@github.com: xiakejie/remotegit.git把本地庫內容推送到遠程$ git push -u origin master(-u 實在你第一次推送時用)之後便用後面這條命令$ git push origin master。本地庫關聯是一樣注意目錄,不清楚看下圖,xiakejie是個人帳戶,實驗時換成本身的
這時登陸github網站,即可看到在remotegit倉庫與本地庫內容同樣。
關聯遠程庫幾個注意點
1,前提是你本地已有一個git可管理的倉庫,何爲git可管理,即你本地的文件夾或文件圖標有藍色的對勾。
2,建立遠程倉庫時(注,緊貼該文字正數第二張圖片,是「關聯遠程倉庫幾個注意點」內容上面的圖片)
3,點擊建立按鈕,進入到下一步,能夠看到github給咱們三個提示。咱們選擇第二個。點擊圖中黃色區域,將命令複製,粘貼到git命令窗口。接着你就能夠$ git add filename,$ git commit -m '',git push origin master等命令提交你本地文件了。這時連同你本地文件的目錄一塊同步到遠程。
至此咱們便講完了git與github上午篇