git工作流
一. clone克隆
二. 使用git checkout -b my-obj
- 复制主分支并切换过去
三. git diff
- 查看硬盘作了什么改变
四. git add <xxxx>
- 把修改了的文件放到暂存区
五. git commit -m 'xxxxx'
- 把修改的文件真正的放到git
六. git push orgin mycheck
- 把当前分支推送到orgin地址的mycheck分支
七. 当发现远端main有更新了
八. 我需要把远端main同步到本地的main
九. git checkout main
- 切换到本的main
十. git pull origin master
- 把远端的main同步到本地的main
十一. git checkout mycheck
- 切回去mycheck分支
十二. git rebase main
- 把我的修改先扔到一边, 再把main的修改拿过来, 接着在这个main的修改之上, 把我的修改弄回去
- 有可能出现rebase conflict 需要手动选择需要哪一段代码
十三. git push -f origin mycheck
- 更新完后再次提交到自己的分支 -f 为force 强行提交
十四. 到gitee上面去合并分支
- 点击网页上的pull requests
- 一般情况下使用squash and merge合并分支
十五. 把远端的分支直接删掉
十六. 把本地的分支删掉
- git branch -D mycheck
十七. git pull origin master
- 重新拉取主分支
其他操作:
-
git status 查看全部状态
-
git diff 查看全部本地磁盘与git的对比
-
git stash 把修改了但是还没add,commit的文件先暂存起来
- git stash list 查看暂存起来的修改
- git stash apply 0 还原暂存起来的修改
- git stash drop 0 删除暂存起来的修改
-
git revert
把这个commit 内容反转后插入到当前分支的后面 -
git log
-
git branch 查看当前所在的分支
-
git checkout xxx 切换分支
-
git remote -v 查看保存的key:value
在自己的分支进行merge或则rebase的时候(可能会修改了自己分支的冲突的commit 的hash),所以推荐使用强制推送.
##请注意,使用 --force 会覆盖远程分支上的提交,请确保这是你想要的操作。
git push --force origin test1
## 是一种更安全的方式,因为它会检查远程分支是否已经被修改。如果远程分支有新的提交,推送操作将会失败,从而避免覆盖他人的工作。
git push --force-with-lease origin test1
设置别名
# 设置别名
git config --global alias.sync '!git stash && git pull --rebase && git stash pop'
# 之后就可以直接使用
git sync