詳細教程請參考: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 (回退到指定的節點, 但提交的修改內容並未保留)