git開發經常使用命令

1.基本命令
git branch 查看本地分支
git branch -r 查看遠程分支
git checkout xxx 切換分支
git pull origin master //從遠程同步到本地,master或分支名
git pull origin xxx
git checkout -b xxx 新建xxx的分支
git checkout -b 本地分支名 遠程分支名
git branch -D xxx 刪除本地分支
git status 查看狀態
git add file 添加到本地server cache
git checkout -- file 從本地回滾
git add path1 path2 ... 添加修改文件路徑到stage狀態。
git commit 提交本地server
git log
git diff cmt1 cmt2 --stat 查看cmt1 和cmt2兩個版本的文件變化
git checkout -- filename 去除本地文件的修改、
git stash 去除本地的全部更新
git log --committer xiaojin.lh 查看某個committer的提交
git reset --hard commit-id :回滾到commit-id,講commit-id以後提交的commit都去除mysql

2.拉取遠程分支
1).首先clone,獲取遠程的主幹
git clone git@gitlab.abcde-inc.com:mysql-engine/alisql.git 空目錄git

2).查看遠程分支
git branch -rsql

3).根據遠程分支創建本地分支
git checkout -b 本地分支名 遠程分支名app

4).拉取遠程的最新分支
git pull origin feature_encryption_issue1gitlab

5).拉取遠程的某個tag,好比拉取遠程rocksdb的4.11.2版本
git checkout -b 4.11.2 v4.11.2spa

3.推送到遠程
git push <遠程主機名> <本地分支名>:<遠程分支名>
git push origin xxx:xxx 把本地的分支推送到遠程
git push origin xxx,省略遠程分支,表示將本地的xxx分支推送到遠程的xxx分支,若分支不存在,則建立。
git push origin xxx:xxx --dry-run 模擬推送
git push orgin :xxx,表示推送一個空分支到遠程,至關於刪除遠程分支。
等價於:
git push origin --delete xxxserver

4.合併分支master
1).切換到master分支(想要合併的目的分支,這裏是master)
2).合併分支
git merge feature_encryption_issue1,(合併想要合併的分支名,這裏是feature_encryption_issue1)
3).推送到遠程
git push origin master事務

好比你在開發feature_xxx,這個時候master已經更新了,你須要合併最新的master:
4).在feature_xxx分支更新master
git checkout feature_xxx
git merge master開發

5).master 合併某個分支 feature_xxx
git checkout master
git merge feature_xxxrem

5.提交Merge Request步驟
1).刪除遠程分支
git push origin :xxx_branch //刪除遠程的xxx分支

2).拉取master
git clone git@gitlab.abcde-inc.com:mysql-engine/mysql.git xxx_branch

3).創建新分支
git checkout -b xxx_branch

4).合併diff文件
git apply xxx.diff

5).本地提交
git commit -am "[feature]comment"

6).推送到遠程分支
git push origin xxx_remote_branch

7).本地提交,使用--amend //commit沿用以前的版本號
git commit --amend 【本地提交】

8).推送到遠程,使用 --force
git push origin xxx:xxx --force 【推送到遠程】

6.生成patch,合併patch
1).基本命令
git diff old-commit current-commit > xxx.patch 生成patch
git apply xxx.patch 應用某個patch,事務操做,所有成功或所有失敗。
git apply -R xxx.patch 恢復某個commit,xxx.patch是變動的內容。
git apply --check patch 在應用patch以前,能夠用命令 --check 確認patch是否有衝突問題。
git apply patch --reject 若是有衝突,能夠經過--reject查看衝突在哪裏,而後進行修改。

2).拉取一個主幹,而後應用patch
git clone git@gitlab.abcde-inc.com:mysql-engine/alisql.git
patch -p1 < *.diff
3).commit
4).push到遠程。

相關文章
相關標籤/搜索