首先需要建立乙個repo,這是cd到資料夾底下,然後init。
$ git init
在檔案系統裡面的檔案如果不新增到git的repo裡面,不會自動被git辨識,需要手動新增,這也是初始化repo是必須要做的事。
$ git add documentation/\*.txt
$ git add git-*.sh
刪除檔案,分為從git cached裡面刪除(即從indextree裡面刪除),何在檔案系統中刪除,如果不加—cached,就是直接從檔案系統裡面徹底刪除。
$ git rm [-f | --force] [-r] [--cached]
-f
強制刪除。
-r
針對資料夾的,遞迴刪除。
--cached
僅僅從index tree
裡面刪除,不把他從檔案系統裡面刪除。
是file
的pattern
。
$ git mv [-f]
$ git mv [-f] ...
reset是回退到某一版本,然後刪除比他新的所有版本。revert把這一版本的行為撤銷相當於ctrl+z但是是那個版本的行為,不是最近的,作為乙個新的commit。
$ git reset [ –hard] [hashcode]
回到前乙個儲存的狀態然後刪除之後的所有修改。
$ git revert [hashcode]
撤銷每一步的行為,作為新的
commit
分支的作用在git裡面非常重要,是和svn的乙個比較大的區別。當需要寫一些髒**的時候,我們建立乙個新的分支,寫**、測試,然後我們回到原來的分支,所有的一切都消失了。另外,我們還有merge等命令,讓兩個分支可以合併。主要的使用方法如下所示。
$ git checkout head~3
:回退到三個版本之前的分支。
$ git checkout –b branchname [hashcode]
:建立並進入分支,在
hashcode
的基礎上建立分支。
$ git checkout master
:回到master
分支。
$ git merge desbranch
:把目標
branch
合併到當前
branch
。
$ git branch –d rmbranch
:刪除分支。
$git push origin –delete b1
:刪除遠端分支。
push用於把修改提交到remote上(github),類似checkin。pull吧版本更新到remote一樣新(在開始工作之前幹這個事情相當於update)。
$ git push origin master1:master2
:origin
是站點名,
master1
是本地分支名,
master2
是遠端分支名。
$ git pull origin master
:直接更新
$ git fetch origin master:tmp
$ git diff tmp
$ git merge tmp
在程式開發到一定階段時需要建立tag(v1.0.0),用於release。
$ git tag –a 「v1.0.0」 –m 「first release」
:建立tag,a
表示annotation
$ git tag –d 「tag name」
:刪除本地
tag。
$ git push origin –tag master
:吧本地所有
tag上傳。
$ git push origin –delete 「tagname」
:刪除遠端
tag。
這個可以用來檢視兩個版本之間的差異,可以直接匯出patch。
$ git diff […]
:比較兩個版本
如果需要
patch
:> patch就ok
了
用於忽略不想加入git repo中的檔案,這個命令在類似eclipseproject的時候很有用處,可以把bin資料夾加入到gitignore檔案當中,這樣可以直接add –a檔案而不會受影響。注意這個檔案要起作用必須先add到repo裡面,要是沒有加入會導致不起作用,一起新增入repo。
$ cd /home/user/doc
$ vim .gitignore
$ git add.gitignore
$ git commit
另外,檔案的格式是每一行是一中ignorepattern。例如我不想新增docx的臨時檔案可以用下面的pattern表示。這在本memo裡面有示例。
~$*
參考資料:
git常用指令
git 常用命令 git init here 建立本地倉庫 repository 將會在資料夾下建立乙個 git 資料夾,git 資料夾裡儲存了所有的版本資訊 標記等內容 git remote add origin git github.com winter1991 helloworld.git 把...
git常用指令
git config global user.name robbin git config global user.email fankai gmail.com git config global color.ui true git config global alias.co checkout g...
Git常用指令
git help 獲取幫助 git help x 獲取關於 x的用法 init add commit git config global user.name test 配置使用者名稱 git config global user.email test outlook.com 配置郵箱位址 git c...