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: 本次提交的代码用于升级项目依赖(更新依赖模块)
posted @ 2021-05-25 10:10  hanfe1  阅读(3149)  评论(0编辑  收藏  举报