Git基本使用

2022-05-29 12:21:11 字數 4196 閱讀 6580

1、安裝git  執行

$ git config --global user.name "your name"

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

2、建立git庫,最好是在空目錄中

3、在空目錄中執行git init 命令,即在該目錄初始化了乙個git倉庫,使用 ls -ah 可以檢視到目錄下隱藏的.git檔案

4、在git倉庫中操作檔案,如新增乙個檔案1.txt ,檔案中輸入內容, 此時在git目錄中執行 git statue 命令,即可檢視該倉庫下檔案的狀態(已更新?  修改待提交? 新增待提交?)

5、git 上傳至倉庫,一共分兩步,  1是add  2是commid   git add 1.txt   git commid -m 「此次提交的內容介紹,方便以後自己或其他人檢視」

git所在目錄屬於工作區,  執行完add的檔案會放到版本庫的暫存區,  git commit 之後檔案才會被提交到分支(預設master)

git diff head -- readme.txt命令可以檢視工作區和版本庫裡面最新版本的區別:

git add 後面可以跟多個檔案;  

6、檢視完倉庫中檔案的狀態後,發現有帶待提交的檔案時,  如果忘記了自己做過什麼,可以檢視有哪些代替交的內容  使用 git diffrent

wangjianqingdemacbook-air:learndemo wangjianqing$ git diff

diff --git a/learndemo/readme.txt b/learndemo/readme.txt

index 15ba924..00014e9 100644

--- a/learndemo/readme.txt

+++ b/learndemo/readme.txt

@@ -1,5 +1,4 @@

-not

7、學會了使用git提交新建的**,提交修改的內容,那麼提交的次數過多後,如何回滾,回滾時如何選擇版本

使用git log  檢視提交記錄

wangjianqingdemacbook-air:learndemo wangjianqing$ git log

commit 5897448c4d24009e043a9129168c2d65c990431e (head ->master)

author: wangjianqing <[email protected]>

commit 910b43d7de6ff44c1f5d709baca056a5d32b6404

author: wangjianqing <[email protected]>

如果檢視時輸出的內容過多,可以考慮後面追加 --pretty=oneline  如下:

wangjianqingdemacbook-air:learndemo wangjianqing$ git log --pretty=oneline

5897448c4d24009e043a9129168c2d65c990431e (head ->master)second upload git

910b43d7de6ff44c1f5d709baca056a5d32b6404first upload git

commid id  是git每生成乙個版本就會自動生成一條時間線;  git的當前版本用 head表示;

如果要回滾到之前的某個版本. 比如當前版本之前的乙個版本   那就是  git  head^;  再次檢視當前版本時就會展示當前版head 為first upload git

910b43d7de6ff44c1f5d709baca056a5d32b6404first upload git

wangjianqingdemacbook-air:learndemo wangjianqing$ git reset --hard head^

head is now at 910b43d first upload git

wangjianqingdemacbook-air:learndemo wangjianqing$ git log --pretty=oneline

910b43d7de6ff44c1f5d709baca056a5d32b6404 (head ->master)first upload git

如果要再次回到回滾之前的版本; 可以選擇兩種方法: 1是找到回滾之前的commit id   使用git reset  --hard id

wangjianqingdemacbook-air:learndemo wangjianqing$ git reset --hard 5897448c4d24009e043a9129168c2d65c990431e

head is now at 5897448 second upload git

wangjianqingdemacbook-air:learndemo wangjianqing$ git log --pretty=oneline

5897448c4d24009e043a9129168c2d65c990431e (head ->master)second upload git

910b43d7de6ff44c1f5d709baca056a5d32b6404first upload git

如果找不到回滾之前的commit id 值的話 ,可以先使用git reflog檢視命令操作歷史,然後再滾回來

wangjianqingdemacbook-air:learndemo wangjianqing$ git reflog

5897448 (head ->master)head@: reset: moving to 5897448c4d24009e043a9129168c2d65c990431e

910b43dhead@: reset: moving to head^

5897448 (head ->master)head@: commit: second upload git

910b43dhead@: commit (initial): first upload git

8、$ git checkout -- readme.txt 意思是把工作區的修改撤銷掉 注意:如果不加--  git checkout file 會將版本切換成心得分支

git reset head 意思是把暫存區的修改撤銷掉

一種是readme.txt自修改後還沒有被放到暫存區,現在,撤銷修改就回到和版本庫一模一樣的狀態;

一種是readme.txt已經新增到暫存區後,又作了修改,現在,撤銷修改就回到新增到暫存區後的狀態。可以先撤銷暫存區的修改   再撤銷工作區的修改,這樣就乾淨了

總之,就是讓這個檔案回到最近一次git commitgit add時的狀態。

9、要刪除某個檔案  如果已經提交到倉庫,首先再本地刪除,然後在倉庫中國刪除

$ rm test.txt 刪除本地的檔案

git rm刪掉,並且git commit  再把倉庫中的檔案刪除

$ git checkout -- test.txt  如果發現刪除錯了  可以從倉庫中在回覆過來

10、在使用者主目錄中,開啟.ssh隱藏檔案,  如果沒有這個檔案  需要自己建立乙個:$ ssh-keygen -t rsa -c "[email protected]"

登陸github,開啟「account settings」,「ssh keys」頁面:

然後,點「add ssh key」,填上任意title,在key文字框裡貼上id_rsa.pub檔案的內容:

如果有多台電腦需要提交到倉庫,那麼就需要把多個對應的key貼上到github, 方便它識別是自己人.

Git基本使用

設定使用者名稱與郵箱 git config global user.name my name git config global user.email my email.com 從已有的git庫中提取 每次更改 的操作 更新本地 到最新版本 需要merge才能合到本地 中 git fetch 合併更...

git基本使用

git pull 從其它的版本庫 既可以是遠端的也可以是本地的 將 更新到本地,例如 git pull origin master 就是將origin這個版本庫的 更新到本地的master主分支。git pull可以從任意乙個git庫獲取某個分支的內容。用法如下 git pull username ...

git基本使用

git pull 從其它的版本庫 既可以是遠端的也可以是本地的 將 更新到本地,例如 git pull origin master 就是將origin這個版本庫的 更新到本地的master主分支。git pull可以從任意乙個git庫獲取某個分支的內容。用法如下 git pull username ...