说说我平时工作中常用git命令,因为自己不习惯用小乌龟(毕竟命令行可以秀一波~~~嘿嘿)
- 首先会通过 git clone xxx.git(项目的git地址) 拉取master分支
- 然后通过git checkout -b test (本地分支) origin/test(远程分支) — 这是git上已有分支的情况1
- git checkout -b test 远程分支还没有某个分支
- git checkout -b 'xxx’是创建分支并切换到当前分支
当然你也可以 一步一步的操作 git branch ‘xxx’
然后再通过 git checkout ‘xxx’ 切换到创建的分支 - 当修改了本地分支的代码 git commit -am ‘修改了本地分支’
- 一般来说一个项目会有多个人同时修改 提交之前git pull先拉取下最新代码,有的时候会存在冲突,打开编辑器解决下就可以了
- 最后通过 git push 提交到远程分支
远程还没有某个分支通过git push --set-upstream origin test 会将本地分支提交到远程分支并创建相应的分支 - 正式开发的时候,比如本次上线需求测试通过后会有一个发布分支例如release,由本次发布的相关人员一般是你老大把test分支合并到release
- 拉取release分支 git checkout -b release origin/release
- 查看本地所有分支 git branch
- 将自己本地分支合并到要发布的分支上** git merge test**
- 每次发布完成后会打一个tag 记录一下本次发布的内容 git tag ‘xxxtag_v1.1’
- 打完tag 之后git push origin xxxtag_v1.1 提交上去
- 如果一不小心打错tag或者想删除本地的tag git tag -d xxxtag_v1.1
删除远程tag git push origin --delete xxxtag_v1.1 - 有的时候比如别人新创建了一个分支 但是你git pull之后没有更新到最新的git内容 试试git fetch 吧
- 很多时候为了方便区分每次版本发布内容我们会在本地创建好几个分支
嫌多余的话 git branch -d ‘xxx’ 来删除本地分支
删除远程分支 git push origin --delete 分支名
最近工作中负责项目的同事有好几个,时常需要来回切换分支来修改问题,不想让自己改了一半的东西提交上去,变用到了git stash
1.git stash会把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录。
需要说明一点,stash是本地的,不会通过git push命令上传到git server上,
实际应用中推荐给每个stash加一个message,用于记录版本 git stash save “提交到暂存”
2.git status 查看当前修改的状态
3**.git stash list查看现有stash
4.git stash pop命令恢复之前缓存的工作目录 将缓存堆栈中的第一个stash删除**,并将对应修改应用到当前的工作目录下。
5.git stash apply命令,将缓存堆栈中的stash多次应用到工作目录中,但并不删除stash拷贝。
git stash apply命令时可以通过名字指定使用哪个stash,默认使用最近的stash(即stash@{0})
6.git stash drop stash@{0}移除stash
7. git stash show -p 查看指定stash的diff
8. git stash branch 从stash创建分支
更新~~~~
当我们使用git merge操作合并代码但还没add时,若想取消这次合并,使用git merge --abort命令即可
如果已经 git add 了怎么办呢? 其实也很简单,先用 git reflog 指令显示历史的操作
然后再用git reset --hard commit id(id为最后一次提价的git记录id)就可以回退到操作之前的状态了
以上就是工作中完整的git操作命令啦_
test 只是为了更好的描述这个步骤,可能你的分支叫hhh 哈哈哈~~ ↩︎