赞
踩
git resstore . 或者文件名称 // 撤消工作区的修改返回到最近一次add(缓存区)的版本或者最近一次commit(当前版本库)的版
git push origin 分支名:本地分支名 // 添加到库
ssh-keygen -t rsa //获取RSA公钥
git push --set-upstream origin 要建立跟踪的分支 //当前分支与哪个分支建立连接
个人理解:可以使用跟踪用本地dev更新库里的master,但是,这样的话会造成库dev不如库master更新快,
所以应该是本地dev更新之后提交到库dev,然后有需要的话在本地进入到master分支,合并dev,gitpush到
库master
git branch -r 查看远程版本库的分支列表
git branch -a 查看所有分支列表(包括本地和远程,remotes/开头的表示远程分支)
git branch -v 查看一个分支的最后一次提交
git branch --merged 查看哪些分支已经合并到当前分支
git branch --no-merged 查看所有未合并工作的分支
git pull origin 远程分支名称:本地分支名称 从远程仓库pull(拉取)代码到本地分支
如果不写本地分支名称,则默认和远程分支同名
git push origin :分支名称 删除远程分支
--------------------------------------------------------------------------------------------------------------
假如我们现在位于分支dev上,刚开发完自己负责的功能,执行了下列命令:
git add .
git commit -m '某某功能已完成,提交到[分支名称]分支'
git push -u origin 分支名称
2、首先切换到master分支上
git checkout master
3、如果是多人开发的话,需要把远程master分支上的代码pull下来
git pull origin master
4、然后把dev分支的代码合并到master上
git merge 分支名称
如果git merge的时候出现冲突,可以执行下面的命令取消merge:
git merge --abort:
5、然后查看状态
git status
6、最后一步,Push推送到远程仓库
git push origin master
--------------------------------------------------------------------------------------------------------------
另外有很多冷门命令,面试的时候可能会问:
git commit --amend 修改上次的提交信息,push后不会增加新的commit记录,但是会修改本次的commithash(也可以理解为删掉了最新的一次commit,重新又提交了一次)
- git commit --amend
- // 修改commit msg
git push origin -D [branchName] 删除远端分支
- // 假设当前分支dev, commit 为 a b c d e
- // 假设master分支, commit 为 a b f g h
- git pull --rebase origin master
- // 当前分支dev commit 变为 a b c d e f g h
- 复制代码
- // 假设当前分支dev, commit 为 a b c d e
- // 假设master分支, commit 为 a b f g h
- git rebase origin/master
- // 当前分支dev commit 变为 a b f g h c d e
注意:stash@{0} stash@{1} stash@{2} 是stashname
git stash apply stashname 恢复指定贮藏代码到工作区和缓存区,会保留stashid
git stash save 'msg' 带备注贮藏
git push -f是不安全的,git push --force-with-lease更安全,注意--force-with-lease失败后再执行一次也会强制提交覆盖
git reset --soft [commit hash] 将从commithash(不包括此hash)之后的提交回退到暂存区
git reset --soft HEAD~4 回退最近4次提交到暂存区
git cherry-pick [commit hash] 将其他分支上已提交的commit在当前分支再提交一次,产生新的commithash
- - 第三行第一个hash为编号1,第二个hash为编号2,以哪个父hash为主线则保留哪个,删除另一个
- 复制代码
- git revert -m 1 bd86846 则回滚bd86846的提交,且以ba25a9d master分支为主线保留,回滚掉1c7036f 所在分支提交
git rebase -i HEAD~10
调整最近10次提交的日志、或合并多次提交为1次,让log更好看更清晰p使用, pick = use commit
s合并掉, squash = use commit, but meld into previous commit
所有的提交按时间倒序排列
被s的会合并到上一次commit,也就是当前排列的上一个里面
feat: 新功能、新特性
fix: 修改 bug
perf: 更改代码,以提高性能(在不影响代码内部行为的前提下,对程序性能进行优化)
refactor: 代码重构(重构,在不影响代码内部行为、功能下的代码修改)
docs: 文档修改
style: 代码格式修改, 注意不是 css 修改(例如分号修改)
test: 测试用例新增、修改
build: 影响项目构建或依赖项修改
revert: 恢复上一次提交
ci: 持续集成相关文件修改
chore: 其他修改(不在上述类型中的修改)
release: 发布新版本
workflow: 工作流相关文件修改
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。