Git常用指令

2021-10-04 10:02:47 字數 3157 閱讀 3901

git 作為乙個作為乙個版本控制工具,熟悉掌握 git 指令十分必要。

git init                #本地倉庫初始化, 執行完會在當前資料夾出現 .git資料夾

git add #新增需要管理的檔案, eg. git add .

# 新增遠端倉庫位址,origin指名稱,url是遠端倉庫位址,可以是 https 也可以是 ssh

git remote add origin url

### 檢視所有新增的 remote

git remote

git remote --help # git remote 幫助

git remote get-url origin # 獲取origin的 url位址

git remote set-url origin

### 提交 以及 拉取命令

git pull origin master # 從遠端倉庫拉取專案,進行本地倉庫同步,master是分支

git commit -m "first commit" # 提交到本地倉庫,commit 需要新增提交說明

git push -u origin master # 將本地 master 分支同步到 遠端倉庫 origin

### 新增使用者郵箱和使用者名稱,必填乙個

git config global user.name "***x"

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

### 檢視配置

git config user.name

git config user.email

git config --list

乙個大致的流程就是:建立乙個遠端github倉庫,初始化本地git倉庫(git init),新增需要管理的檔案到本地倉庫(git add),每次提交之前都進行乙個拉取 pull 動作(git pull)(多人專案中可能有別人更改了專案並進行了提交),將自己的本地檔案同步到本地倉庫(git commit),最後才是進行本地倉庫和遠端倉庫的同步(git push)。

有時候執行了git pull 從遠端庫進行了本地庫的覆蓋,但是我們不想做這種覆蓋,就需要對版本進行回滾。或者再commit之後又修改了乙個東西,不想commit 太頻繁。

git reflog                 # 檢視 git commit 的記錄

git reset cmomitid # 撤銷commit 操作,但是不對**進行撤銷,commitid 可以檢視

git reset --hard commitid # 撤銷commit操作,同時完成對**的撤銷,也即會恢復到上乙個版本(慎用)

git reset --soft head^ # 撤銷此次 commit ,soft不會改變已修改的**,head^表示上一次

git reset --soft head~2 # head~2 前兩步

--mixed意思是:不刪除工作空間改動**,撤銷commit,並且撤銷git add . 操作

這個為預設引數,git reset --mixed head^ 和 git reset head^ 效果是一樣的。

--soft

不刪除工作空間改動**,撤銷commit,不撤銷git add。

--hard

刪除工作空間改動**,撤銷commit,撤銷git add 。

git在進行 pull 或者 push的時候,每次都需要資料 github 的賬號和密碼,這個還是有點難受的。所以可以通過一些配置來實現免密 pull 和 push。首先明確乙個問題,就是賬號和密碼是用來讓 git 登陸上github的,明確了這個問題就避免問一些問題,比如換了乙個倉庫是否還需要重新配置?總的說來,就是兩種方法,一是 https 方式將賬號密碼快取,二是設定github ssh免密登陸。在轉殖專案時github提供兩種url選擇,一種是通過https,另一種就是 ssh。

這種方法適用於 origin 是https方式,這樣只需要輸入一次賬號和密碼就可以。

git config --global credential.helper store  #如不需要全域性配置,可去掉--global

# 或者是將 credential.helper 設定成manager

git config --global credential.helper manager

適用於適用ssh型位址,github ssh免密登入設定其實就是伺服器的 免密登陸一樣,利用的是非對稱金鑰的驗證方式。將公鑰放在伺服器,私鑰留在自己本地主機上。即可實現ssh免密登入伺服器。

生成金鑰對

金鑰對的生成指令 ssh-keygen,執行需要幾次回車,中間輸入密碼可以直接為空,回車跳過就好。執行後會在~/.ssh資料夾下生成兩個檔案,id_rsa(私鑰) 和 id_rsa.pub(公鑰)

ssh-keygen -t rsa -c ***  # *** 一般寫郵箱,主要是用來標識使用者(主機), rsa表示加密演算法
github 新增公鑰生成了金鑰對之後,需要在github中新增公鑰,在setting->ssh and gpg keys裡新增,將id_rsa.pub 裡面的內容複製進來即可。然後再次進行pull 和 push 的時候就可以不需要輸入密碼了。注意:這種方法每換一台主機就需要新增乙個公鑰。github有其對應公鑰的主機,才可以實現免密登入。

參考:

Git 常用指令

首先需要建立乙個repo,這是cd到資料夾底下,然後init。git init 在檔案系統裡面的檔案如果不新增到git的repo裡面,不會自動被git辨識,需要手動新增,這也是初始化repo是必須要做的事。git add documentation txt git add git sh 刪除檔案,分...

git常用指令

git 常用命令 git init here 建立本地倉庫 repository 將會在資料夾下建立乙個 git 資料夾,git 資料夾裡儲存了所有的版本資訊 標記等內容 git remote add origin git github.com winter1991 helloworld.git 把...

git常用指令

git config global user.name robbin git config global user.email fankai gmail.com git config global color.ui true git config global alias.co checkout g...