Git 常用命令總結

詳細教程請參考:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/

//查看當前用戶
git config user.name
git config user.email

//切換賬號
git config --global user.name "Your_username"
git config --global user.email "Your_email"

 

//創建ssh key
ssh-keygen -t rsa -C "[email protected]"  
生成後的祕鑰在用戶目錄的.ssh文件夾裏,有id_rsa、id_rsa.pub兩個文件。將公鑰id_rsa.pub添加到github或gitlab的sshkey中即可

//如果同時存在多個git賬號,則在提示後輸入新的路徑,如下
Enter file in which to save the key (/c/Users/user/.ssh/id_rsa): /c/Users/user/.ssh/id_rsa_newPath

//默認SSH只會讀取id_rsa,所以爲了讓SSH識別新的私鑰,需要將其添加到SSH agent,使用如下命令:
ssh-add ~/.ssh/id_rsa_newPath

如果報錯:Could not open a connection to your authentication agent.無法連接到ssh agent
可執行ssh-agent bash命令後再執行ssh-add命令
然後將公鑰添加到git賬號中即可

在.ssh文件夾下,創建或編輯config文件
###gitlab
Host 域名或ip地址
Hostname whatever
User grant
PreferredAuthentications publickey
IdentityFile .ssh/id_rsa_gitlab


 

//查看倉庫狀態
git status

//自遠程庫下載到本地指定倉庫
git clone [email protected]:user/demo.git path

//將針對指定文件的修改置入暫存區stage
git add file
//將本次修改的全部文件置入暫存區stage
git add .
//add後提交 message說明  置入版本庫
git commit -m "message"

//一次性執行add .,commit
git commit -am "message"

//自遠程倉庫更新文件到本地
git remote update

//合併代碼
git rebase
//將指定遠程分支合併到本地  
git rebase origin/master

//將本地庫推送到遠程  -u 首次推送
git push origin master
//將當前修改置入stash中
git stash
//將stash中的修改取出到當前文件中
git stash pop
//刪除stash中的修改
git stash drop

 

 

## 基於遠程release分支拉取新分支 
#查看分支
$ git branch -a 

//切換分支
$ git checkout -b feature-{feature_name}-{date}

//如需本地創建分支,並跟蹤遠程release分支:
$ git checkout -b feature-{feature_name}-{date} origin/release 
$ git push -u origin feature-{feature_name}-{date}

 

如果上次的分支在維護過程中,release中其它分支合併的代碼,則需rebase 遠程release分支
先把本地分支與遠程同步
$ git remote update
$ git rebase feature-{feature_name}-{date}
然後執行
$ git rebase origin/release
執行過程中,如果遇到衝突,可以使用idea工具resolve Conflicts
git add .
git rebase --continue

rebase後,可以在當前基礎上新建分支,然後push到遠程
git checkout -b feature-{feature_name}-{new date}
git push -u origin feature-{feature_name}-{new date}

最後,在適當時候發送合併請求 merge request

 

######撤銷push到遠程的一組操作

 

1、先將本地操作回退到指定版本

git reset --hard <版本號>

2、將本地的修改強行push到遠程

git push origin <分支名> --force

 

######撤銷add

 

git reset HEAD 撤銷上一次add 裏面的全部內容
git reset HEAD  XXX/XXX/XXX.java 撤銷指定文

 

######撤銷commit

 

1、首先根據git log 查找到要回滾的commit_id

2、撤銷

git reset  commit_id (回退到指定的節點   且保留提交的修改內容)      
git reset –hard commit_id  (回退到指定的節點, 但提交的修改內容並未保留)

 

發佈了35 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章