git常用命令

安裝git

Debian系列

  1. 安裝git sudo apt-get install git
  2. 如果存在爲解決依賴,使用sudo apt-get -f install來解決依賴問題完成安裝。

openSUSE

  1. zypper安裝方式
    使用sudo zypper install git安裝git。
    注:若安裝出現問題,可以從下面幾個角度來確定問題。
    1) 檢查軟件倉庫和軟件源 sudo zypper lr & suzo zypper ls,若存在問題,使用sudo zypper ar xxxx://xxxx.xx.xxx設置包含該軟件的軟件源。使用sudo zypper refresh來刷新該源。
    2) 安裝特定版本軟件sudo zypper install packagename = version
    3) 若已經安裝,升級使用sudo zypper update packagename

  2. yast2安裝方式
    1) 使用sudo yast2打開yast管理,如圖所示:

sudo_yast2

2) 在裏面搜索git及相關軟件,回車選中,進行安裝。

yast2_git

redhat系列

使用yum install git進行git的安裝。

other linux

  1. 使用wget https://www.xxx.xxx/xxx/xxx.xx下載git安裝包。
  2. 使用tar -jxvf xxx.bz2解壓。
  3. 使用./config進行安裝前的配置。
  4. 使用make編譯鏈接。
  5. 使用sudo make install安裝。

Windows安裝

這裏下載軟件,安裝即可。

git個人信息配置

配置姓名

git config --global user.name "example"

配置email

git config --global user.email "[email protected]"

注:這裏--global選項可以替換爲--system--local表示配置的範圍不同。
1) --system會將其配置到$(prefix)/etc/gitconfig中,該系統的所有用戶共用。
2) --global會將其配置到~/.gitconfig中,該用戶有效。
3) --local會配置到.git/config中,當前倉庫有效。

配置其他信息

git能夠配置的東西很多,可以執行git config --help查看,定製最適合自己的環境。

git在本地建倉庫

在想要創建本地倉庫的位置執行git init會進行初始化,可以是空文件夾,也可以是已經有內容的位置(此時並不會對已存在的內容進行跟蹤)。

git添加跟蹤文件

使用git add xxx會告訴git,xxx是你想要跟蹤的文件,執行過後,該文件的內容會被添加到索引中,git會跟蹤該文件的改變。
當然,git add .會將當前目錄及其子目錄中的文件添加跟蹤。(在.gitignore中可以設置忽略的文件,可以是文件名,也可以是後綴等。)

git查看工作區狀態

使用git init會創建一個空的倉庫,這個倉庫對應的實際位置,稱之爲工作區,包括這個文件夾和文件夾下的所有子文件夾內的文件。git status即用來查看該工作區的狀態,這個命令會將該工作區內所有未被跟蹤的文件列出,且會將發生修改的已跟蹤文件列出
使用git add xxx之後,該文件的內容便被添加到了索引中,此時修改該文件,索引中的內容並不會隨之改變,也就是說,實際文件xxx和索引中的文件xxx’有差異,可以使用git status來查看本地文件與索引中的文件是否有差異。

git查看跟蹤文件差異

進一步的,xxx文件在索引和實際文件之間的差異可以使用git diff xxx來查看,git diff用來查看索引中的所有文件與本地的差異。若想要進一步將本地實際文件的修改添加到索引中,繼續使用git add xxx

git提交變更

使用git add xxx將要提交的修改都添加到了索引中,但實際上這些變更並未實際提交,也就是說,當別人得到了你本地的分支時,並不能看到這些修改,若想要將這些修改提交,使用git commit -m "xxxxx"將這些變更作出提交。其中xxxxx是爲這一次提交作出的說明。

git查看提交歷史

當多次使用git commit -m "xxxxx"進行提交後,若向回顧以下之前的提交記錄,可以使用git log來查看之前的所有提交記錄。

git回退某次提交

每次提交後的狀態我們可以稱之爲一個版本,若本次提交過後,發現本次提交存在問題,可以使用git reset --hard HEAD^回退到上一個版本,也就是上一次提交後的狀態,或者說本次提交前的狀態。
若發現問題在更早的版本,例如,發現上次提交有問題,可以使用git reset --hard HEAD~2,即回退兩次,回到上次提交前的狀態。

注1:HEAD表示當前的狀態。
注2:當版本回退之後,git log的輸出也會相應改變,也就是說,若你提交了10個版本,此時使用git log可以看到10次提交,若回退到上個版本時,執行git log就只能看到上次提交前的9個提交了。

git前進到某次提交

當某次使用git reset --hard HEAD^回到本次提交前的狀態後,突然想清楚了這次提交並沒有問題,若還記得本次提交的id,可以使用git reset --hard commit_id來回到這次提交後的狀態,若不記得,可以使用git reflog查看歷史提交記錄,找到對應的id後再執行git reset --hard commit_id

git撤銷工作區修改

當某次git add xxx之後,若在工作區內xxx文件又發生了修改,在再次git add xxx之前發現這些修改並無必要,可以使用git checkout -- xxx來將這些修改取消。此時,工作區內的xxx文件內容就與索引中的一致了。

git撤銷add修改

當某次工作區的修改已經被git add xxx記錄之後,可以使用git reset HEAD xxx撤銷該修改到上次commit之後的狀態。

git刪除版本庫文件

使用git rm xxx可以將版本庫中的xxx文件刪除,刪除也是修改操作,git會記錄下來,可以使用git commit -m "xxxxx"提交。

git配置遠程庫

git本地庫與github上的遠程庫通過SSH加密,需要首先配置。
1. 創建github賬號,在github上創建即可。
2. 創建SSH Key ssh-keygen -t rsa -C "[email protected]"
3. 添加SSH公鑰到github賬號中,登陸後,Settings==>SSH and GPG keys==>New SSH key,title隨便輸入,下面輸入~/.ssh/id_rsa.pub的內容,確定即可。
4. 創建遠程倉庫,登陸後,New repository即可。
5. 將本地倉庫推送到遠程倉庫中。
git remote add origin https://github.com/Binresist/Notes.git
git push -u origin master –master表示的是本地分支名,默認是master
git push origin master –後續本地提交不需要在家-u參數。

git從遠程庫開始

若在github上先創建了遠程庫,也可以使用git clone [email protected]:example/example.git將遠程庫克隆到本地。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章