开发人员常用git操作

日常开发需要关注的部分

dev-->Feature:git checkout -b some-feature develop
Feature-->local仓库:
local仓库-->Feature:git add ./git add some-file.js/git commit
Feature-->dev:git checkout dev/git merge some-feature

新增和修改文件后,需要提交到本地some-feature的仓库

#慎用git add .,会把所有的有更改的文件提交到staged中
git add src/App.vue
git commit # 按规范填写注释

保持本地开发代码是最新状态的

git pull origin dev

合并some-feature到开发分支

git checkout dev  #将本地仓库切换到dev
git merge some-feature  #合并some-feature到dev
git push  #提交到dev的远程仓库

最后回到some-feature分支继续开发

git branch -d some-feature

当执行merge操作的时候,git已经从some-feature拉了一条线到dev上。

发布release版本

release版本是从dev分支上checkout代码,基本上不会每天操作,有大的发布计划的时候才需要去执行

git checkout -b release-0.1 develop

此时不能有新功能的提交到dev中,这个操作对应项目开发中的发布阶段,所以不在这个发布阶段的功能,应该都在下一个迭代中提交。

改善git操作

修改个人信息

git config --global user.name "chenbitao"
git config --global user.email "chenbitao1@huawei.com"

合并代码

分支合并到另一个分支

从dev合并到master

git checkout master
git merge dev

从dev合并文件到release

git checkout release
git checkout --patch dev package.json

从dev分支合并几个文件到release分支

git checkout release
git checkout --patch dev package.json src\Index.vue

更改本地commit注释

已经commit但是还未push到服务器的,仍然是可以添加新的文件和修改注释的。

git commit --amend

回退到某个版本号[^注意]

git reset --hard 【merge前的commitid】

将已经commit但未push的代码重新放入暂存区

git reset commit前一个commitid

删除本地的远端已经删除的分支

# 显示远程分支和本地分支
git remote show origin
# 删除远端已经删除的分支
git remote prune origin

删除本地分支

git branch -d 分支名(remotes/origin/分支名)

强制删本地

git branch -D 分支名

删除远程分支

git push origin --delete 分支名(remotes/origin/分支名)

远端分支被重命名了

如果你有本地clone远端被重命名的分支,可以用下面的命令来更新本地clone

git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a