git 相关操作-提交代码步骤

https://blog.csdn.net/matrix_google/article/details/87988330

clone代码和切换分支

git clone -b v1.2 [email protected]:qq/pp.git

git checkout 分支名

# git从远程仓库中拉取新的指定分支:若本地分支不存在的情况:
git checkout -b 本地分支名称 origin/远程分支名称

提交代码

不要使用git add. ,有坑(会提交未跟踪的文件)

git add 文件全路径/名

git commit -m ""

git pull origin 远程分支名

解决冲突

git push origin 远程分支名

与master合并

在gitlab的web页面上发起一个合入请求,并指定评审人

解决冲突

git stash的是改动的文件,也就是被Git追踪的文件,新添加的文件并没有被Git追踪,所以git stash并不会stash

git stash
git pull origin 远程分支名
git stash pop

git stash list
git stash clear

出现“你的分支领先origin/v.1.5 X个提交”

  1. 确定没有自己提交的东西
git diff origin/v1.5
  1. 重置
git fetch --all  //只是下载远程的库的内容,不做任何的合并 
git reset --hard origin/v1.5  //把HEAD指向刚刚下载的最新的版本
git pull

合并两个分支的代码 rebase

步骤:

  1. 在v1.5分支上执行git pull origin v1.5拉取最新
  2. 切到v1.5wl分支,git checkout v1.5wl
  3. 执行git rebase v1.5,有冲突解决冲突,解决后git add,再执行git rebase --continue
  4. 切到v1.5分支,git checkout v1.5。执行git merge --no-ff v1.5wl
  5. 提到远程分支上:
git pull origin v1.5
git push origin v1.5

撤销操作

不删除工作空间改动代码,撤销commit,并且撤销git add

仅仅是撤回commit操作,您写的代码仍然保留

git reset HEAD^

不删除工作空间改动代码,撤销commit,不撤销git add

git reset --soft HEAD^
//windows下
git reset --soft HEAD^^

撤销add

  1. modify的文件
git reset HEAD <路径/文件名> //对某个文件进行撤销
git reset HEAD //上一次add 全部撤销

再使用git checkout – <路径/文件名>,会删除此文件的全部修改

git checkout -- 文件名
  1. untracked文件
git rm --cached <路径/文件名>

如果commit注释写错了,只是想改一下注释

git commit --amend

git 相关操作-提交代码步骤_第1张图片

分支

创建新分支

git checkout -b 新分支名

将新分支推到远程仓库

git push origin 新分支名

删除分支

git branch -d dev

列出所有分支

git branch

git 分支修改bug应用场景

总结:

  1. 在dev分支日常开发

  2. 出现bug(或紧急需求),需要立即处理部署

  3. git stash (备份工作区) 或 git commit (提交到本地) dev分支当前修改

  4. 切换至主分支 git checkout master

  5. 修改bug、commit \ push 到 master分支,并形成临时 test release ,测试

  6. 服务器部署git pull origin master,验收bug(或需求)

  7. 切换回dev分支 git checkout dev

  8. 把主分支的改动合并到dev分支,git merge master,可能会有冲突,手动处理冲突

  9. 如果第3部使用的是git stash ,则这里需要 git stash pop 把dev分支保存的修改再拿出来(也可能会有冲突,手动处理冲突),后继续dev分支的开发

git rebase 提交

git checkout master
git pull
git checkout local
#切换到local分支后, 就是修改代码

#修改完了, 就正常提交代码-------git commit

#如果有多次local分支的提交,就合并,只有一次可以不合并
git rebase -i HEAD~2  //合并提交 --- 2表示合并两个

#将master内容合并到local
git rebase master---->解决冲突--->git rebase --continue

#再起切换到master或其他目标分支
git checkout master
#将local合并到master
git merge local
#推送到远程仓库
git push

你可能感兴趣的:(git,git)