--> git 常用命令
mkdir Workstation
cd Workstation
git init
git remote add origin git@127.0.0.1:/opt/git/YSJ.git
git pull origin master
git push -u origin master
直接使用远端项目名称
git clone xxx
git checkout -b develop origin/develop
git checkout -b feature
git branch -d feature
git branch -D feature
git push origin feature
git push origin :feature
撤销修改
git checkout -- readme.md
取消暂存
git reset HEAD readme.md
版本回退
git reset --hard HEAD^
git reset --hard 1094abes
git reflog
删除操作
# 确实要删除
git add readme.md
# 或者
git rm readme.md
# 误删
git checkout -- readme.md
暂存操作
# 暂存
git stash
# 查看暂存列表
git stash list
# 恢复
git stash apply
# 删除
git stash drop
# 恢复并删除
git stash pop
# 恢复到指定的stash
git stash apply stash@{0}
# 删除 untracked files
git clean -f
# 连 untracked 的目录也一起删掉
git clean -fd
# 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
git clean -xfd
# 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nxfd
git clean -nf
git clean -nfd
feature
负责人rebase develop
分支,然后将feature
分支合入develop
,删除feature
git fetch origin
git rebase origin/feature
git rebase develop
git checkout develop
git merge feature
git push origin :feature
feature
后拉出对应的release/feature
分支,后续bug修复在release/feature
上 git checkout develop
git checkout -b release/feature
release/feature
合入develop
分支,然后删除 # 因bug修复期间,develop分支有改动、这里需要合并develop分支内容
git rebase develop
git checkout develop
# 当前是在 develop分支
git merge release/feature
git push origin :release/feature
git checkout -b feature
git status
git checkout -- readme.md
git reset HEAD readme.md
# 上一版本
git reset --hard HEAD^
# 指定版本
git reset --hard 1094a
pull
拉取develop分支,合并到当前分支,但是会影响提交历史美观度。git rebase develop
rebase
的过程中,也许会出现冲突conflict,在这种情况,Git会停止rebase并会让你去解决冲突;在解决完冲突后,用git-add
命令去更新这些内容的索引(index),然后无需执行git-commit
命令,只需执行:git rebase --continue
--abort
参数来终止rebase的行为,并且feature
分支会回到rebase开始前的状态。git rebase --abort
git chekcout -b release
// 这里是代码修改
// 提交修改
git commit -a -m "更新版本号"
git checout master
// 这里是合并分支, 为了清晰不使用快速合并
git merge --no-ff release
// 这里在master版本添加tag
git tag -a "v1.2"
列出所有标签
git tag
git tag -l
打标签
git tag V1.0
打标签带注释
git tag -a v1.0.9 -m "version 1.0.9"
打标签在某个提交上
git tag -f v1.5 2aeefa2
删除标签
git tag -d V1.0
替换标签就是先删除后添加。
显示标签具体修改,类似log。
git show V1.0
切换到某个版本
git checkout V1.0
推送到远程服务器
git push origin V1.0
推送所有标签到远程服务器
git push origin --tags
删除远程标签
git push origin :refs/tags/0.1.0
git checout develop
git merge --no-ff release
git branch -d release
分支来源: master
分支
分支去向:develop
分支和 master
分支
分支命名:以hotfix-
开头
$ git checkout -b hotfix-1.2.1 master
$ vim file #表示修复bug
$ git commit -a -m "修复bug"
$ vim file #表示更新版本号
$ git commit -a -m "版本更新为1.2.1"
$ git checkout master
$ git merge --no-ff hotfix-1.2.1
$ git tag -a 1.2.1 #tag操作
$ git checkout develop
$ git merge --no-ff hotfix-1.2.1
$ git branch -d hotfix-1.2.1
git reset --hard ORIG_HEAD
git push -f origin master
revert
放弃指定提交git revert HEAD
git log
git push origin master
git revert HEAD
error: commit 986eebc4a26f04684d3e27e8ca08307e2a71bb6d is a merge but no -m option was given.
fatal: revert failed
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。