[ git工作流基础版 ]


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 
        - 重新拉取主分支

其他操作:

  1. git status 查看全部状态

  2. git diff 查看全部本地磁盘与git的对比

  3. git stash 把修改了但是还没add,commit的文件先暂存起来

    • git stash list 查看暂存起来的修改
    • git stash apply 0 还原暂存起来的修改
    • git stash drop 0 删除暂存起来的修改
  4. git revert 把这个commit 内容反转后插入到当前分支的后面

  5. git log

  6. git branch 查看当前所在的分支

  7. git checkout xxx 切换分支

  8. 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