Git

  • 切换分支时,该分支的修改被带到另一个分支
  1. 需要在当前分支先commit一次,再checkout
  • 使用技巧:
  1. 当前commit覆盖之前commit
    git commit --amend -m “”

  2. 新建本地分支并且切换分支(关联远程分支)
    git checkout -b 本地分支 远程分支(远程分支名字使用全称:git branch -a就可以查到)

  3. 查看分支关联关系
    git branch -vv

  4. 查看所有分支
    git branch -a

  5. 新建本地分支
    git branch 本地新分支

  6. 新建远程分支之后… 本地取回远程分支更新
    git fetch

  7. 切换本地分支
    git checkout 本地分支

  8. push
    git push origin HEAD:refs/for/fe_taohang

  9. push项目代码时,需要添加项目前缀(如在百度时,Noah项目中添加项目代号:BCEC-258

  10. commit 评审主题过长时

  1. git commit .
  2. 冒号,进入编辑模式
  3. 写入id,回车写入commit名称 id:在代码库每个项目评审左上角 (资产项目:BCEC-258)
  4. ESC -> :wq->回车
  5. git status -> git push HEAD:refs/for/fe_navigation
  6. git push origin HEAD:refs/for/fe_taohang
  1. 删除某一个文件
    rm read.md 删除read.md文件

  2. 回退到某个版本(软撤回)
    git reset —soft 9f30ad89a4ad:回退版本至这个9f30ad89a4ad版本
    git log -> git reset —soft 9f30ad89a4ad -> git log ->git status

  3. 某个add之后的 文件进行撤销
    git reset HEAD XXX.js

  4. 撤销所有add
    git reset HEAD

  5. pull 本地显示比远程领先一次提交
    git pull origin fe_navigation(远程分支:fe_navigation)

  6. 删除本地分支fe_navigation
    git branch -D fe_navigation

  7. Cannot do a soft reset in the middle of a merge.: 无法在合并中进行软重置

  1. 本地分支A和本地分支B同时关联远程分支fe_taohang
  2. 现在在B分支开发,领先A分支xxcommit,并且已经提交至远程分支fe_taohangcheckout A切换至A分支后,git status查看,显示Your branch and 'origin/fe_taohang' have diverged,and have 1 and 6 different commits each, respectively.
  3. 表示A分支与远程分支fe_taohang已经分道扬镳了,分别有1个和6个不同的提交。(1个表示本地commit;6个表示远程commit)
  4. 保证本地无新的文件修改,如果有需求再次commit提交至本地),此时再次git status,会提示有2个和6个不同的提交。
  5. git pull origin fe_taohang: 拉取最新的代码

Git_第1张图片

  1. 根据上图提示merge有冲突的代码。
  2. 合并并且解决冲突之后,再次commit,提示:有3个和6个不同的提交,此时需要git fetch更新一下本地和远程的代码
  3. git status,此时只剩本地提交的commit

Git_第2张图片

  1. git log 查看日志,软撤回至远程分支的后一个版本。git reset --soft ee53c5b334a2b067b8571aaf,把本地的所有commit(两次/或三次/或多次)提交撤回

Git_第3张图片

  1. git status.分支A与远程分支同步。

Git_第4张图片

你可能感兴趣的:(文章整理,git)