git 使用和一些錯誤

2022-08-31 17:09:16 字數 2772 閱讀 3798

一、簡單使用

與集中式版本控制系統最大的區別:集中式版本控制系統必須聯網才能工作,速度也比較慢;而git 有自己的本地倉庫,只需要在聯網的時候同步一下就好,同時也比較安全,比如當集中式版本控制系統的**伺服器要是出了問題,那就沒法幹活了。

1、安裝git

centos7  :sudo yum install git

ubuntu linux  :sudo apt-get install git

安裝完成後,在開始選單裡找到「git」->「git bash」:

$ git config --global user.name "github_name

"$ git config --global user.email "email_name

"

2、建立版本庫

選擇乙個合適的地方,建立乙個目錄,然後進入這個目錄,把這個目錄變成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 "

email_name

"

登陸github,開啟「account settings」,「ssh keys」頁面,然後,點「add ssh key」,填上任意title,在key文字框裡貼上 id_rsa.pub檔案的內容,點「add key」。github允許新增多個key,方便從不同電腦推送。

3.2 本地推送到遠端倉庫

在本地倉庫(就是建立的那個目錄)下執行命令:

$ git remote add origin [email protected]:githubname/filename.git  //鏈結遠端倉庫,建立主分支

$ git push -u origin master //把本地倉庫的檔案推送到遠端倉庫

此後,每次本地提交後,只要有必要,就可以使用命令 git push 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 儲存版本庫中每一次變化的元資料...