git向分支提交代碼操作


基本命令

1.查看所有分支

git branch -a (看看是否連接上遠程的git)

2.創建分支

git branch xxx(為你的分支起名字)

3.切換分支

git checkout xxx(切換到你創建的分支,xxx為你要切換分支的名字)

4.添加修改代碼到緩存(注意最后的"."前面有個空格).是提交當前目錄所有修改的

git add .

5.添加提交代碼的備注

git commit -m "xxx"(xxx為本次提交代碼的備注)

6.提交代碼到指定的分支

git push origin xxx (xxx為要提交代碼的分支名稱)

7.如果git push這個步驟出現了錯誤,是因為是git服務器中的你提交的文件不在本地代碼目錄中,可以通過如下命令進行代碼合並,然后在使用第6步

git pull --rebase origin xxx(xxx為要提交代碼的分支名稱)

如果你需要刪除分支在創建

1.刪除遠程你所創建的分支

git push origin --delete xxx(xxx為你想刪除的遠程分支名稱)

2.刪除本地分支

git branch -D xxx(xxx為你想刪除的本地分支名稱)

如果提示你無法刪除本地分支,那是因為你目前還在當前分支,切換一下分支就好了

git log --name-only 每次修改的文件列表

遇到錯誤

新建本地分支后將本地分支推送到遠程庫, 使用git pull 或者 git push 的時候報錯

gitThere is no tracking information for the current branch.

Please specify which branch you want to merge with.

See git-pull(1) for details

git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

git branch --set-upstream-to=origin/<branch> merged0.9.6

是因為本地分支和遠程分支沒有建立聯系 (使用git branch -vv 可以查看本地分支和遠程分支的關聯關系) .根據命令行提示只需要執行以下命令即可

git branch --set-upstream-to=origin/遠程分支的名字 本地分支的名字

git merge最簡潔用法

一、開發分支(dev)上的代碼達到上線的標准后,要合並到 master 分支

git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master

二、當master代碼改動了,需要更新開發分支(dev)上的代碼

git checkout master 
git pull 
git checkout dev
git merge master 
git push -u origin dev

git restore指令和git restore --staged 的使用
git restore xx.py 將修改過的文件取消修改(在工作區)
git restore --staged 將暫存區的取出來,但不會更改文件 (git add 文件后為暫存區)

git merge后,想恢復之前版本步驟

一共需要三個步驟:

第一步:git checkout到你想恢復的分支上

1.git checkout 分支名
第二步:git reflog查出要回退到merge之前的版本號

git reflog

第三步:git reset --hard 版本號,就可以回到merge之前的代碼狀態了

git reset --hard a1d566d
成功了

git reset HEAD ,回退git add 后的
git reset HEAD^ ,回退上一版本
https://blog.csdn.net/chenpuzhen/article/details/92006378

git commit之后,想撤銷commit

寫完代碼后,我們一般這樣

git add . //添加所有文件

git commit -m "本功能全部完成"

執行完commit后,想撤回commit,怎么辦?
這樣涼拌:

git reset --soft HEAD^

這樣就成功的撤銷了你的commit

注意,僅僅是撤回commit操作,您寫的代碼仍然保留。

說一下個人理解:
HEAD^的意思是上一個版本,也可以寫成HEAD~1

如果你進行了2次commit,想都撤回,可以使用HEAD~2

至於這幾個參數:
--mixed
意思是:不刪除工作空間改動代碼,撤銷commit,並且撤銷git add . 操作
這個為默認參數,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一樣的。
--soft
不刪除工作空間改動代碼,撤銷commit,不撤銷git add .
--hard
刪除工作空間改動代碼,撤銷commit,撤銷git add .

注意完成這個操作后,就恢復到了上一次的commit狀態。

順便說一下,如果commit注釋寫錯了,只是想改一下注釋,只需要:
git commit --amend
此時會進入默認vim編輯器,修改注釋完畢后保存就好了。

合並指定分支的某個文件

另外如果只想將feature分支的某個文件f.txt合並到master分支上。

1: git checkout master

2: git checkout --patch feature f.txt

第一個命令: 切換到feature分支;

第二個命令:合並feature分支上f文件到master分支上,將feature分支上 f 文件追加補丁到master分支上 f文件。你可以接受或者拒絕補丁內容。即提示輸y或者n

如果只是簡單的將feature分支的文件f.txt copy到master分支上;

git checkout master

git checkout feature f.txt

如果只是簡單的將A_branch分支的文件f.txt copy到B_branch分支上;

git checkout B_branch

cd path/to/f.txt

git checkout A_bracn f.txt

git commit 提交版本的描述信息,編寫前綴規范

git commit -m "feature: 新建.gitignore忽略文件"

git commit 提交版本的描述信息,編寫前綴規范:

描述前綴 描述
feature: 本次提交的代碼用於開發新功能,新增業務
fix: 本次提交的代碼用於修復bug問題、漏洞
docs: 本次提交的代碼用於修改文檔,注釋等相關
style: 本次提交的代碼用於修改代碼格式,不影響代碼邏輯,常見的代碼規范:PEP8,PEP484
refactor: 本次提交的代碼用於項目/代碼重構,理論上不影響現有功能(針對代碼的重寫,改造原來的模塊/類/函數/方法)
perf: 本次提交的代碼用於提升性能,代碼優化
test: 本次提交的代碼用於增加或修改測試用例代碼
deps: 本次提交的代碼用於升級項目依賴(更新依賴模塊)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM