一、簡單使用
與集中式版本控制系統最大的區別:集中式版本控制系統必須聯網才能工作,速度也比較慢;而git 有自己的本地倉庫,只需要在聯網的時候同步一下就好,同時也比較安全,比如當集中式版本控制系統的**伺服器要是出了問題,那就沒法幹活了。
1、安裝git
centos7 :sudo yum install git
ubuntu linux :sudo apt-get install git
安裝完成後,在開始選單裡找到「git」->「git bash」:
$ git config --global user.name "github_name2、建立版本庫"$ git config --global user.email "email_name
"
選擇乙個合適的地方,建立乙個目錄,然後進入這個目錄,把這個目錄變成git可以管理的倉庫
$ git init可以發現當前目錄下多了乙個.git的目錄,這個目錄是git來跟蹤管理版本庫的
然後把檔案新增到倉庫:
$ git add filename把檔案提交到倉庫
$ git commit -m "-m 後面輸入的是本次提交的說明,方便從歷史記錄裡找到改動記錄。說明"
3、新增遠端庫
3.1 建立ssh key:
$ cd ~/.ssh$ ls
$ ssh-keygen -t rsa -c "登陸github,開啟「account settings」,「ssh keys」頁面,然後,點「add ssh key」,填上任意title,在key文字框裡貼上 id_rsa.pub檔案的內容,點「add key」。github允許新增多個key,方便從不同電腦推送。email_name
"
3.2 本地推送到遠端倉庫
在本地倉庫(就是建立的那個目錄)下執行命令:
$ git remote add origin [email protected]:githubname/filename.git //鏈結遠端倉庫,建立主分支此後,每次本地提交後,只要有必要,就可以使用命令 git push origin master 推送最新修改。$ git push -u origin master //把本地倉庫的檔案推送到遠端倉庫
至此,從本地倉庫推送到遠端倉庫已經ok。
二、常用命令
下面介紹一些常用的命令:
$ git status 命令看看結果版本回退$ git diff readme.txt 看具體修改了什麼內容
$ git log 命令顯示從最近到最遠的提交日誌
$ git reflog 記錄每一次命令
$ git reset --hard head^回到上一版本刪除檔案$ git reset --hard commit_id //commit_id為版本號,使用$ git log命令 可以看見
$ git checkout --filename 丟棄工作區的修改
$ git reset head filename 丟棄暫存區的修改
$ git rm filename轉殖遠端倉庫$ git commit -m "
remove filename
"$ git checkout -- filename 誤刪後,對於工作區是修改還是刪除,都可以「一鍵還原」
$ git clone [email protected]:githubname/filename.git三、出現的問題:
1、git: bash: cd: too many arguments
這個原因是因為路徑名或者變數中間有空格,這個時候需要用雙引號括起來
在推送至遠端倉庫前加上:$ git pull origin master
$ git pull origin master //把本地倉庫的變化連線到遠端倉庫主分支$ git push -u origin master //把本地倉庫的檔案推送到遠端倉庫
是因為遠端repository和我本地的repository衝突導致的,在github的版本庫頁面點選了建立readme.md檔案的按鈕建立了說明文件,但是卻沒有pull到本地。這樣就產生了版本衝突的問題。
解決方法:
3.1.使用強制push的方法:
$ git push -u origin master -f
這樣會使遠端修改丟失,一般是不可取的,尤其是多人協作開發的時候。
3.2.push前先將遠端repository修改pull下來
$ git pull origin master
$ git push -u origin master
3.3.若不想merge遠端和本地修改,可以先建立新的分支:
$ git branch [name]
然後push
$ git push -u origin [name]
關於更多git 的使用可以參考:廖雪峰老師的git教程
git的一些錯誤提示
由於git init bare方法建立乙個裸倉庫,在該倉庫無法進行任何git操作,所以丟擲錯誤.解決方法 在該倉庫目錄下,新建資料夾,進入該資料夾,執行如下命令 1.touch readme 2.git init 3.git add readme 4.git commit m initial com...
git 一些使用技巧
場景1 當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout file。場景2 當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset head file,就回到了場景1,第二步按場景1操作。head指向的版本就...
GIT使用 一些概念
1 git版本庫 repository 乙個簡單的資料庫,包括所有用來維護與管理專案的修訂版本和歷史的資訊。git維護兩個主要的資料結構 2 git物件型別 1 塊 blob 檔案的每乙個版本表示為乙個塊 2 目錄樹 tree 代表一層目錄資訊 3 提交 commit 儲存版本庫中每一次變化的元資料...