Git 使用指南

Git 的入門教程

 網上關於Git比較好的一篇教程有:http://www.bootcss.com/p/git-guide/css

問題集合

回滾操做

Git在提交以前撤銷add操做html

  使用Git 以前,有時由於忘記添加.gitignore文件,因此使用git add 添加了不應進入版本庫的文件,這時因爲尚未commit到Head,因此不能使用git reset Head命令,能夠經過如下命令來撤銷操做:node

撤銷所有add的文件
git rm -r --cached .
撤銷test文件夾中的所有文件
git rm -r --cache test/
撤銷添加的文件
git rm --cached file

Git 在提交以後的撤銷操做git

#Git有兩種方式來撤銷提交以後的操做,一種是git revert,另一種是git commit.
git revert是生成生成一個新的commit 來撤銷某次操做,這次以前的commit都會被保留
git reset 是回到某次提交,提交及提交以前的commit 都會被保留,可是這次以後的修改都會被退回到暫存區。
舉個例子,例若有兩個commit,以下:
commit2: 添加file2
commit1: 添加file1

1 執行 git revert HEAD~1 ,執行 git log時,能夠看到,這裏HEAD~1表明着上一次提交,若是是HEAD~2,表明着上兩次提交。

revert "commit2":this reverts commit 234$f....
commit2: 添加file2
commit1: 添加file1

2 git reset 有三個選項能夠選擇
--soft 默認,執行 git reset --soft HEAD~1以後,執行git log,此時commit2提交的文件是在暫存區中,
待提交
--mixed 執行 git reset --mixed HEAD~1以後,執行git log,此時commit2 提交的文件顯示未添加
--heard 執行 git reset --hard HEAD~1以後,執行git log,此時commit2 所有被撤銷,提交的文件也被取消

 

Git 添加.gitignore文件忽略文件github

  在倉庫目錄下添加.gitignore文件, Git會能夠自動忽略該目錄及目錄如下子目錄的對應的文件。文件裏面的內容以下:‍‍bash

以#開始的行,被視爲註釋
#忽略tt.txt
tt.txt
#忽略全部的html文件
*.html
#忽略.o和.t後綴的文件
*.[ot]
#忽略nodemodules文件夾
nodemodules

Git的forkide

  有時咱們想在別人項目的基礎上進行開發,Git爲咱們提供了fork的功能,能夠fork其它人的代碼,而後進行開發。fetch

  下面,咱們以https://github.com/CntChen/edudemo爲例,來演示如何進行fork以後再merge的操做。ui

首先進入Github的該項目,而後點擊該項目右上角的fork
而後在本身的項目庫中,將fork到的項目克隆到本身的本地項目中
git clone https://github.com/thomaslwq/edudemo.git


當你fork到本地的時候,會有一個默認的origin的遠程鏈接名,它指向你帳戶下的遠程倉庫。
而後你能夠將原倉庫也鏈接到本地目錄下來。若是之後原倉庫有任何改動,那麼你就能夠將原倉庫的改動fetch下來,
而後進行更新。
git remote add remote_edudemo https://github.com/CntChen/edudemo.git
這樣,你本地就多了一個其它人的遠程倉庫,而且它的別名是remote_edudemo

git fetch remote_edudemo //拉取原遠程庫的最新更新
git merge remote_edudemo master //合併到當前倉庫

而後提交修改
 git add "README.md"
 git commit -m "添加修改文件"

 git push origin master
到目前爲止,咱們已經把修改推送到本身fork以後的倉庫,可是咱們若是想將改動推送到原做者倉庫,
就須要回到本身fork項目的界面,點擊Pull Request,而後發送合併請求,原做者收到請求以後,
就會根據實際狀況選擇是否合併代碼到當前項目中。
注意:若是合併原倉庫代碼時出現衝突,那麼以後合併衝突以後從新提交就可。

 

經常使用操做this

GIT-FORK項目後與原項目進行同步

http://www.cnblogs.com/dubuqingfeng/p/201503-git-fork-synchronized.html

相關文章
相關標籤/搜索