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

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

clone代码和切换分支

git clone -b v1.2 git@192.168.3.198: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.5-dev分支,git checkout v1.5-dev
  3. 执行git rebase v1.5,有冲突解决冲突,解决后git add,再执行git rebase --continue
  4. 切到v1.5分支,git checkout v1.5。执行git merge --no-ff v1.5-dev
  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

img

分支

创建新分支

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

还有不清楚的基础命令,可以查找JavaGuide

git统计代码方法

统计某个用户在当前分支下提交的代码行数,会列出add、remove、total

git log --author=用户名 --since=2023-01-01 --until=2023-12-31 --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | grep "\(.html\|.java\|.xml\|.properties\)$" |awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值