1. 提交到GitHub上的代码出现冲突/远程上的代码出现了更新
先git add . 和 git commit 将自己的代码储存好,git checkout 回主分支,git pull origin 拿下最新的代码,再git checkout 回自己的分支,git rebase origin/feature/blankstate,查看是否会出现冲突,如果有的话就得在webstorm上解决冲突,VCS-Git-Resolve Conflicts,看冲突合并好代码
解决完之后,再git rebase --continue 查看是否还有冲突,没有的话,代码就没有冲突合并完成了,可以继续自己的编程
如果是一开始就没有冲突的,git rebase 可以将远程代码合并到自己的目前的代码上
另外如果rebase过程中,你想中途退出,恢复rebase前的代码则可以用命令 git rebase --abort
2.拿到一个ticket首先要start 或者restart. 读清楚题目意思 也要看好上下文理解哪些要做哪些不做
3.首先将代码重新pull一下 拿到最新的代码 git pull origin feature/bvr
4.然后根据ticket命名自己的分支 git checkout -b 分支名(example)
5.改好代码后
git add . 将所有文件暂存到缓存区
git commit -m "[Finishes #ticket编号] 描述修改的内容"
git push origin 自己的分支名(example)
6.做好这些之后 到公司GitHub上面pull repress 将ticket上的链接复制过去文本中
7.如果需要得和qa说测试一下
如果有描述什么的不小心写错了 可以使用这个命令进行修改并且代码会重新提交
git commit --amend -m "[Finishes #ticket编号] 描述修改的内容"
做完这个之后 要使用-f强行将这个分支推上去 否则会报错
git push -f origin 自己的分支名(example)
8.在git add . 之前 可以使用git diff查看自己修改了那些代码 有没有修改错的
已经执行了git add . 但是想看暂存区和本地仓库之间的差异 使用 git diff --cached
已经执行了git commit 想查看本地仓库和远程仓库的差异 使用 git diff 本地仓库 origin/远程仓库
9.撤销修改!!
如果还未执行git add . 想撤销 就执行 git checkout . 或者 git reset --hard
执行了git add .发现了错误 执行git reset 返回到git add .的状态 再执行 git checkout . 就返回到未修改代码的状态
如果要直接执行完上面两步 使用 git reset --hard
执行了git commit 想撤销 可以使用git log查看自己执行的那个的分支的代号 git reset 代号 返回到原来的状态
执行了git push 发现git commit的注释写错了 可以 (git reset --hard 代号) 再git commit --amend 修改 最后使用 git push -f强行推上去
10.git pull 能拿下远程上本地没有的分支 再直接git checkout 分支 过去即可
git pull:相当于是从远程获取最新版本并merge到本地
git fetch:相当于是从远程获取最新版本到本地,不会自动merge
总结:其实git pull相当于git fetch 和 git merge在实际使用中,git fetch更安全一些因为在merge前,我们可以查看更新情况,然后再决定是否合并