git 入门(未完待续)

git status:查看状态
git checkout -- filename :撤消工作区修改
git add filename:提交工作区修改到暂存区
git reset HEAD filename :to unstage, 把add的file撤消到工作区
git commit -m "commit 说明",暂存区文件提交到本地仓库
git commit -a -m "commit xxxx",add和commit一起操作

git reset --hard commitId : 切到某个提交版本commitId
git reset --hard HEAD^ or head~2 or commitId
git pull ,从远程仓库拉取代码
git push ,推到远程仓库

git log :查看commit 记录
git reflog
git log --graph:图形化查看

 

git checkout -b dev 等同于 git branch dev , git checkout dev 创建并切换到dev分支
git branch 列出所有分支,*表示当前分支
git merge dev ,将dev分支合并到当前分支
git branch -d dev,删除dev分支


git merge dev
可能需要解决冲突,解决之后,git add ,git commit

 


通常master分支仅仅作用于发版等,dev分支是实际干活分支
每个人都有自己的一个分支,干完一个功能之后,将分支合并到dev中

 

 

// 使用场景:当前在dev分支上开发,临时来了一个bug需要紧急修复
但是当前开发工作尚未完成,不能提交,这个时候就要把当前的工作区修改藏起来,就用这个stash
之后去新开一个分支修改bug,完事后,切到dev,把之前藏起来的在工作区的修改再拿出来
使用git stash pop,继续开发

git stash:为提交的修改隐藏起来
Saved working directory and index state WIP on dev: f52c633 add merge
git stash list : 查看隐藏的提交
git stash pop:将隐藏的提交拿出来

这玩意就是一个入栈弹栈

git cherry-pick <commit>  复制一个特定的提交到当前分支,把 某一次的提交直接拿过来


// 推送分支
git push 远程  本地分支
git push origin dev  // push dev branch to remote origin
只有自己进行开发的个人分支,可以不用推到远程,因为你的分支肯定会合并的dev,
dev 推了,自己的推不推都不影响

git pull 等价于 git fetch + git merge
git pull -r 就是 git pull --rebase 等同 git fetch + git rebase

 

Merge 和 Rebase的区别参照下面博客
https://blog.csdn.net/liuxiaoheng1992/article/details/79108233
Merge:两个分支合并,严格按照提交的时间线,有交叉
Rebase:将dev分支的所有提交加到master和dev起点之后,master提交之前
意思就是,我合并的时候发现master分支上别人有提交,那么rebase就是把dev的提交置于别人提交之前
时间线不严格,直线

 

 

打标签,commitId不太好记,针对每一次commit打标签
git tag v1.0
git tag v1.1 commitId
git tag :查看标签
git show tagname:查看标签的详细信息
git tag -a v1.1 -m "标签说明",-a 指定标签名,-m 指定说明文字
git tag -d v1.1 : 删除标签
git push origin <tagname>:推送标签到远程
git push origin --tags : 一次性推送全部尚未推送到远程的本地标签
删除远程标签:先本地删除:git tag -d v1.1
            再远程:git push origin:refs/tags/v1.1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值