git入門 常用命令

2021-06-09 11:52:59 字數 4652 閱讀 4016

alex zhou

這一篇簡單介紹一下git常用命令

1. 開始git

1.1 開始乙個新的專案,初始化新的**倉庫

要對現有的某個專案開始用 git 管理,只需到此專案所在的目錄,執行:

git init

會在當前目錄下生成乙個.git目錄,包含了所有git需要的資料和資源

1.2 把服務端的專案拷貝到本地

git支援許多傳輸協議,如http、https、git、ssh等,下面例子使用git協議

git clone git:

2.跟蹤檔案

跟蹤某個檔案或者某個目錄下所有檔案,就是把需要跟蹤的檔案加入暫存區(stage),下面把當前目錄下的所有檔案加入到暫存區

git status

# on branch master

## initial commit

## changes to be committed:

#   (use 「git rm –cached …」 to unstage)

##new file: â  c/file_operator/.file_cp.c.swp

#new file:   c/file_operator/file_cp

#new file:   c/file_operator/file_cp.c

#new file:   c/file_operator/file_create

#new file:   c/file_operator/file_create.c

#new file:   c/file_operator/file_time

#new file:   c/file_operator/file_time.cached可以看到,執行git add ./後,當前目錄下這些檔案已經被跟蹤了,被新增到暫存區,同時 (use 「git rm –cached…」 to unstage)提示你可以使用該命令取消跟蹤。

注:如果你git add xx後又修改了xx檔案,此時應該重新執行git add xx,把最新的xx檔案新增到暫存區

4.取消跟蹤檔案

與跟蹤檔案相反,取消跟蹤就是把該檔案或目錄從暫存區(stage)移除

git rm --cached  c/file_operator/.file_cp.c.swp

ps:此時.file_cp.c.swp檔案已經從暫存區域刪除,但是仍在當前目錄下,如果想把該檔案也從工作目錄中刪除,執行

git rm c/file_operator/.file_cp.c.swp

git status

# on branch master

## initial commit

## changes to be committed:

#   (use 「git rm –cached …」 to unstage)

##new file:   c/file_operator/file_operatorle_cp

#new file:   c/file_operator/file_cp.c

#new file:   c/file_operatorle_cperator/file_create

#new file:   c/file_operator/file_create.c

#new file_operatorile:   c/file_operator/file_time

#new file:   c/file_operator/file_timeime.c

# untracked files:

#   (use 「git add …」 to include in what will be committed)

##c/file_operator/.file_cp.c.swp

可以看到 c/file_operatorrator/.file_cp.c.swp 已經不在stage區了。可以通過git add重新新增到stage區

5.忽略某些檔案

在實際專案中,有些檔案不需要使用git進行管理,比如:.pyc檔案,.class檔案,.o檔案,.swp檔案的等,我們可以在專案根目錄下建立乙個名為 .gitignore的檔案,列出要忽略的檔案。git缺省會讀取專案目錄下的.gitignore檔案(跟.git同目錄)

vim .gitignore

#git進行管理時,忽略以下檔案

c/file_operator/*.swp

*.o

所有空行或者以注釋符號 # 開頭的行都會被 git 忽略,以上設定忽略所有.o檔案,同時忽略c/file_operator/目錄下的所有.swp檔案

另外,還可以在配置項中通過core.excludesfile來指定ignore檔案。

git config --system core.excludesfile ~/.gitignore_system

git config --global core.excludesfile ~/.gitignore_global

git config core.excludesfile .gitignore_local

注意:

git config –system 設定系統配置

git config –global 設定使用者配置

git config  設定專案配置

6.提交更新

現在把暫存區域中的檔案提交到倉庫,每次準備提交之前,執行git status看看需要提交的檔案是不是都已經暫存了。

git commit -m 「注釋」

[master (root-commit) 264c7c4] cc

59 files changed, 1266 insertions(+), 0 deletions(-)

create mode 100755 c/file_operator/file_cp

create mode 100755 c/file_operator/file_cp.c

create mode 100755 c/file_operator/file_create

create mode 100755 c/file_operator/file_create.c

…..

提交後它會告訴你,當前是在哪個分支(master)提交的,本次提交的完整 sha-1 校驗和是什麼( 264c7c4),以及在本次提交中,有多少檔案修訂過,多少行添改和刪改過.

ps:在提交的時候,給 git commit 加上-a 選項,git 就會自動把所有已經跟蹤過的檔案暫存起來一併提交,從而跳過 git add 步驟:git commit -a -m 『***x』

7. 移動檔案

git mv test1.c test2.c

相當於執行了

mv test1.c test2.c

git rm test1.c

git add test2.c

8.修改最後一次提交

有些時候我們執行git commit -m 「cc」 執行後,發現還有檔案沒有新增到暫存區,想撤銷剛才的提交操作,可以使用git commit –amend修改最後一次提交,重新提交,否則就需要多一次提交。

如:

git commit -m 'cc'

git add forgotten_file

git commit --amend

上面的三條命令最終只是產生乙個提交,第二個提交命令修正了第乙個的提交內容。

9.瀏覽更新歷史

git log

commit 264c7c4c56aa398123015da290b7d710d6560cb4

author: alexzhou

date:   sun jun 17 20:14:42 2012 +0800

cc

git log可以指定輸出格式,具體可以參考網上其它資料

如:列出user.py的所有改動歷史,每條記錄顯示在一行

git log --pretty=oneline user.py

檢視具體的某次改動

git show 雜湊值

10. 恢復單個檔案歷史版本

檢視檔案歷史記錄:git log test.py

得到歷史版本號,恢復該檔案:

git reset 2e17053b4f5da3b378d6155a174523588d104338 test.py

11. 從服務端接收資料

git pull

12. 推送資料到服務端

執行git commit後,只是把更新提交到本地倉庫,執行git push後才把本地修改更新到服務端

git push

alex zhou

git入門常用命令

想要學好git,我們首先要學會一些常用的linux常用命令 ls 目錄名稱 檢視目錄中的內容 子目錄或檔案 cd 目錄名稱 進入某乙個目錄 mkdir 目錄名稱 建立目錄 touch 目錄名稱 建立檔案 cp 原始檔 目標檔案 拷貝檔案 mv 原始檔 目標檔案 移動檔案 rm r 目錄名稱 刪除目錄...

git 入門常用命令

git 工作流程 d projects setup2 setup2 setup2 express singleimage diskimages disk1 git clone 工作開始之初,可通過git clone url 來實現拷貝遠端git倉庫並建立本地倉庫,再同步工作區 的效果。git sta...

Git常用命令入門

1.12 分支與合併 1.13 刪除分支 1.14 獲取專案最新版本 2.gitlab上傳示例 安裝完git的終端後,在終端下打乙個git,會告訴各種git的使用方法。如果想把當前資料夾用git管理的話,需要先建立乙個倉庫 repository 可以使用乙個已經存在的目錄作為git倉庫或建立乙個空目...