git 使用记录(持续更新)

非git使用教程,只是记录在实际使用中的一些重点、难点,以及需要注意的地方。

设置永久访问权限

git config --global credential.helper store

子模块 submodule
  • 删除 git rm -rf [path]
    [path]的值在.gitmodule文件中查看。
    举例:git rm -rf src/Libraries/Autofac
远程库
  • 添加远程库
    git remote name url
  • 同步远程库到本地
    1. 建立并切换分支
    2. git pull
分支
  • 设置本地分支跟踪远程分支

      方法一
     
      设置同名本地分支
     `git checkout --track origin/serverfixBranch'
    
      设置不同名本地分支
     `git checkout -b sf origin/serverfixBranch`
    
      方法二
      `git checkout 本地分支名称`
      `git branch -u 远程分支名称`
    
  • 设置本地分支不跟踪任何远程分支
    git checkout 本地分支名称
    git branch --unset-upstream

  • 使用本地分支创建远程分支
    git push 远程库名称 HEAD:待创建的远程分支名称

git reflog的使用

reflog 会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的时候,这些操作会被记录在reflog中。

$ git reflog

b7057a9 HEAD@{0}: reset: moving to b7057a9
98abc5a HEAD@{1}: commit: more stuff added to foo
b7057a9 HEAD@{2}: commit (initial): initial commit

如果要找回我们第二commit,只需要做如下操作:

$ git reset --hard 98abc5a

再来看一下 git 记录:$ git log* 98abc5a (HEAD, master) more stuff added to foo* b7057a9 initial commit所以,如果你因为reset等操作丢失一个提交的时候,你总是可以把它找回来。

除非你的操作已经被git当做垃圾处理掉了,一般是30天以后。

git reset的使用

git reset --soft
只将HEAD移动到指定的提交上。index和working tree(本地工作副本)不动。

git reset --mixed
将HEAD移动到指定的提交上,并且撤销index。working tree(本地工作副本)不动。

git reset --hard
将HEAD移动到指定的提交上,并且撤销index和working tree(本地工作副本)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.git的安装 1.1 在Windows上安装Git msysgit是Windows版的Git,从https:/...
    落魂灬阅读 12,741评论 4 54
  • 爱是什么 谁知道它的密码 爱是曾经你的笑语 飞出窗外 爱是一束光 从海报跃上舞台 爱是流星滑落 银河思念成海 爱是...
    涧水清清阅读 206评论 0 4
  • 人生充满未知,以画思人!
    齔繪阅读 279评论 2 2
  • 我真好看(一) 我真好看(二) 我真好看(三) “哎?看你这幅受惊的样子,你是不愿意啊?”占星一边收拾桌子一边戏谑...
    叭哒阅读 672评论 5 7
  • 通过这几天的学习,我感受到了我和各位老师差距,我的知识储备量太少了,技巧,和对工具的应用也太菜,首先说我自己该怎么...
    金色浪阅读 154评论 0 0