歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Git命令使用整理

Git命令使用整理

日期:2017/2/28 14:29:05   编辑:Linux教程

Git是一個開源的分布式版本控制系統,用以有效、高速的處理從很小到非常大的項目版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。能初始化一個新的代碼倉庫,做一些適當配置;開始或停止跟蹤某些文件;暫存或提交某些更新;從遠程倉庫拉數據下來或者推數據上去。

用於 Linux內核開發的版本控制工具。與常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本庫的方式,不必服務器端軟件支持(注:這得分是用什麼樣的服務端,使用http協議或者git協議等不太一樣。並且在push和pull的時候和服務器端還是有交互的。),使源代碼的發布和交流極其方便。 Git 的速度很快,這對於諸如 Linux kernel 這樣的大項目來說自然很重要, Git 最為出色的是它的合並跟蹤能力。

git status

看狀態

git add

添加一個文件到git index [file name] 是將當前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示記入了版本歷史中,這也是提交之前所需要執行的一步,例如'git add app/model/user.rb'就會增加app/model/user.rb文件到Git的索引中

git log

看你commit的日志

git commit

提交當前工作空間的修改內容,類似於SVN的commit命令,例如'git commit -m "story #3, add user model"',提交的時候必須用-m來輸入一條提交信息 git push:將本地commit的代碼更新到遠程版本庫中,例如'git push origin'就會將本地的代碼更新到名為orgin的遠程版本庫中

git push origin HEAD:refs/for/master

把當前分支推送到名為origin的遠端的master分支上

git reset

還原您更改合並前的

git rm

從當前的工作空間中和索引中刪除文件,例如'git rm app/model/user.rb'

git clone

這是較為簡單的一種初始化方式,當你已經有一個遠程的Git版本庫,只需要在本地克隆一份,例如'git clone git://github.com/someone/some_project.git some_project'命令就是將'git://github.com/someone/some_project.git'這個URL地址的遠程版本庫完全克隆到本地some_project目錄下面

git init

初始化的版本庫(暫且稱為working repository)將會生成兩類文件:第一類是版本庫目錄.git目錄,它裡面存放的是版本的歷史記錄信息和實際項目文件的拷貝;你可以把這類版本庫叫做"工作目錄"(working tree);工作目錄是一個包含有版本歷史目錄".git"和項目源文件的目錄;你可以在工作目錄中修改你的項目源文件並使用命令"git add"和"git commit"進行版本管理;

git remote

查看與添加遠程倉庫

git checkout

Git的checkout有兩個作用,其一是在不同的branch之間進行切換,例如'git checkout new_branch'就會切換到new_branch的分支上去;另一個功能是還原代碼的作用,例如'git checkout app/model/user.rb'就會將user.rb文件從上一個已提交的版本中更新回來,未提交的內容全部會回滾。

注意:

1、使用命令"git clone"從一個現有的版本庫克隆出來的新版本庫也是一個工作目錄(working tree),包含.git目錄和實際項目源文件;

2、如果使用命令"git init"初始化版本庫,則遠程版本庫目錄下也包含工作目錄(working tree),當本地版本庫向遠程版本庫push時,如果遠程版本庫當前成處於要被push的分支上,那麼push後的結果不會反映在遠程版本庫的工作目錄(working tree)上,也即:在遠程版本庫的目錄下對應的文件還是之前的舊內容,必須使用命令"git reset --hard"之後才能看到push後的新內容,或者是登陸到遠程版本庫目錄下,使用命令"git config --bool core.bare true"把版本庫的核心屬性修改成bare的類型;

Git與Repo的比較

Git操作一般對應一個倉庫,而Repo操作一般對應一個項目,即一個項目會由若干倉庫組成。

例如,在操作整個Recket項目時使用Repo,而操作其中的某個倉庫時使用Git。在包含隱藏目錄.git的目錄下執行git操作。

基於Gitolite的Git服務架設 http://www.linuxidc.com/Linux/2014-02/96991.htm

Linux git命令參數及用法詳解 http://www.linuxidc.com/Linux/2012-01/51205.htm

Fedora通過Http Proxy下載Git http://www.linuxidc.com/Linux/2009-12/23170.htm

在Ubuntu Server上安裝Git http://www.linuxidc.com/Linux/2009-06/20421.htm

服務器端Git倉庫的創建(Ubuntu) http://www.linuxidc.com/Linux/2011-02/32542.htm

Linux下Git簡單使用教程(以Android為例) http://www.linuxidc.com/Linux/2010-11/29883.htm

Git權威指南 PDF高清中文版 http://www.linuxidc.com/Linux/2013-10/91053.htm

Git 的詳細介紹:請點這裡
Git 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved