git使用

一、常用操作

  1. git clone 仓库地址 克隆仓库
  2. git branch 分支名字 创建分支
  3. git checkout 分支名字 切换分支
  4. git history 查看git操作记录
  5. git fetch 更新到最新的commit结构
  6. git rebase -i origin/master 将当前分支基于master上
  7. git status 查看git状态
  8. git add 需要添加到暂存区的文件
  9. git commit -am 需要提交的已经在暂存区的文件的描述
  10. git commit --amend 需要提交的已经在暂存区的文件的添加提交,对于同一事件的提交
  11. git reset --hard commit-id 或者origin/master 丢弃本地提交的所有改动和提交,已指定的comit或者最新的master的目录树为指引点
  12. git reset HEAD filename 取消已缓存的文件,也就是取消git add的操作
  13. git rm filename 删除暂存区的文件,并且删除工作目录下的文件
  14. git rm --cached filename 只删除暂存区的文件,工作目录中不删除
  15. git rm filename -f 删除之前修改过的 并且在暂存区的文件
  16. git push origin :分支名 删除远端分支,origin与冒号之间有空格
  17. git branch -D 分支名 删除本地分支
  18. git show commit-id 查看commit内的文件改动内容
  19. git push origin 分支名 (-f) 推送改动到远端分支,加-f为推动的本地分支完全覆盖远端分支
  20. git push origingit push origin liurong:master 将本地分支的pr动最终合并到远端master上
  21. git rebase -i HEAD~3 修改最新的3个commit web远端删除分支后本地依旧存在,
  22. 使用git remote show origin 查看远程库与本地库的关系
  23. 使用git remote prune origin删除在远端已经不存在的分支,但是在本地分支存在的远端分支
  24. 某个本地分支没有add在暂存区的文件更改,但是其他其他本地分支需要或者reset到指定的commit点,可以现在做了文件更改的本地分支执行git
    stash,然后切换本地分支做其他拉取其他commit内容,处理完后再切回到原来的本地分支执行,git stash pop将原来本地分支未add在暂存的文件变动重新更新到本地

二、fork后的合并:

git checkout master
git fetch
git status
git reset --hard origin/master
git remote add lrr git://github.com/lurongrong/break_kit.git
git fetch --all
git history --all-match --stat
git merge lrr/lrr.test

三、问题总结

1.解决冲突:
冲突造成原因:
在push新的变动到远端自己的分支之前,没有fetch得到最新的内容,最新的内容变动和自己新修改的文件是同一个,push到自己远端分支后发现没有生成新的pr,再次fetch,想要rebase到最新的origin/master上,却有如下报错:
git使用_第1张图片
解决办法:
vim进入有冲突的文件,对比origin/master上最新的内容,加上自己修改的内容,将文件修改为最终的状态,保存,退出。同样办法处理完有冲突的文件后,执行git add 修改过冲突的文件,之后执行git rebase --ccontinue,此时就会将解决有冲突的commit,新的commit在最新合并内容上添加的。

四、gitsubrepo

配置文件:.gitsubrepo
脚本:git-subrepo
sh git-subrepo 目录

总结:规范操作
每次在git commit之前确定是在最新的commit,git fetch确保一下,避免再rebase,生出新的commit,影响git commit节点排序
git push origin liurong:liurong 为将本地liurong分支合并到远端liurong分支
git push origin liurong:master 为将本地liurong分支合并到远端master分支

git使用规范:
https://github.com/bsc-s2/s2-doc-internal/blob/master/src/dev/git-guide.md

你可能感兴趣的:(github)