Table of Contents
1、git如何安裝自行百度
2、基本命令場景
2.1 場景1.把獨立工程代碼合入已建立gitlab工程中
-
git clone http://dsfdsdidsafd.com:8080.git 工程到本地
-
cp需要上傳到代碼到clone的目錄
-
git checkout branch 切換分支
-
git status 查看當前分支
-
git add ./[needtouploadCode] 添加所需要合入的代碼
-
git commit -m "This is the code to upload." 添加註釋
-
git pull origin [branchName] 更新現有工程
-
git push origin [branchName] 合入代碼到遠端
2.在master分支中撤銷合入的代碼,撤銷部分合入到newFunc分支操作:
-
1.git revert <提交ID>
(先撤銷master合入操作,commit回退到unstage階段)
1.在gitlab--activity中找到提交記錄:找到提交記錄ID(在URL連接後面)
2.執行:git revert 998fc8cdbb513e6339adcd0e33523462562526
#2.1:如果失敗,可能是尚有改動沒有提交,嘗試git status查看存
Note:
Untracked基本爲需要忽略的文件,可以在gitlab中設置全局
可以看到是由於當前分支還存在變動及commit階段的文件未被提交導致的,解決辦法是先把commit階段的回退到unstage
階段 執行1:git reset HEAD init.py 可見:
[20:27:45] root:label git:(master*) $ git reset HEAD __init__.py Unstaged changes after reset: D wpe-etl-python/label/__init__.py M wpe-etl-python/label/self_support/label_entry.py
執行2:git status 可見 所有改動都回退到unstage階段
執行3:git stash 保存該分支下改動到stash(緩存),可見此時已經無unstage階段
#2.2如果沒有失敗,則繼續
-
2.執行:git push origin master (在當前分支 push 本次改動)
-
3.執行:git checkout newFunc (切換到新分支)
-
4.執行:git pull origin newFunc(同步最新代碼)
-
5.執行:git status (查看最新狀態)
-
6.執行:git pull origin master (從當前分支拉取master分支代碼,與master同步)
#1 此時可以通過 git log -3 查看master分支提交記錄
-
6.1執行:git push origin newFunc (??????)
-
7.執行:git cherry-pick <commit ID> 把某次提交應用到當前分支
e.g. 假設master_a有一個87a97aca6ed91c0ce3666561eb6a7536f7431a52的提交,master_b也需要這個改動: git checkout master_b git cherry-pick 87a97aca6ed91c0ce3666561eb6a7536f7431a52 git add <xxx> git commit –m ‘xxx’ git push origin master_b
-
8.執行: git push origin newFunc 直接提交本次變更到當前分支
注意:本地push的修改實際是隻是commit ID 對應的修改,並沒有涉及到2.1中正在修改的變更
所以如果需要2.1中提到的master分支中爲提交的變更也同步到當前分支,則需要執行:
git stash apply git commit -all git push origin newFunc
2.2 場景2-git 打標籤
附註標籤 在 Git 中創建附註標籤十分簡單。 最簡單的方式是當你在運行 tag 命令時指定 -a 選項:
1、git tag -a <版本號及其名稱> -m "說明信息"
2、git tag “顯示提交信息”
3、git push origin <tagname>
可能報錯:RPC錯誤
原因:緩存值太小,遠程便捷HTTP傳輸請求數據時最大的緩存字節數,默認時1M字節
git config http.postBuffer 524288000 然後才push
2.3 場景3-git命令行中中文字符顯示錯誤
由於初始化時未設置格式,此時顯示的是八進制格式字符,需要命令行設置:
git config --global core.quotepath false