• git 廖雪峰博客笔记


    其他参考 http://www.softwhy.com/article-8498-1.html

    本地模拟多用户来学习 参考   其实就是克隆两个目录,两个目录的git config 不同的名字和邮箱, 

    $ git config --local user.name  Alice

    $ git config --local user.email  Alice@git.com

    本地有: 工作区, 缓存区,本地仓库(多个分支)  远程有:远程仓库(多个分支)

    git init   初始化git仓库

    git add <file>  添加文件到缓存区   , add 的时候,不会有任何反应.

    git commit -m "备注"   提交到当前仓库

    git commit -am “备注”  -a参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库    ,注意,新加的文件 无法提交。还是得手动add

    git commit --amend   –-no-edit     修改代码后,提交。 原来的commit id 没有了,变成新的commit id 。   参考这里  和 这里   不加--no-edit不会弹出vim编辑器让你修提交备注, 

    git push --no-thin origin HEAD:refs/for/master       如果上面的 commit --amend之前的版本已经push了, 那么就需要用 这个来push到远端。 参考

    git status 查看状态            changes not staged for commit  有修改

    git  diff filename      查看文件修改了哪里 . 这个文件应该是修改后 没有add到缓存区的文件即: 文件状态为已修改 

    git log 历史提交日志     git log --pretty=oneline  一行内显示

    git branch -a 显示所有分支      

    git branch  显示本地分支

    git branch -r 显示远程分支

    git remote -v 显示远程仓库

    git branch -m dev  newdev  分支改名 

    git checkout -b  dev origin/dev  建立dev分支,切到dev分支并和远程dev分支绑定

    回撤:

    git命令——revert、reset

    git reset --hard HEAD^  回退到上一个已经commit的版本

    git reset --hard 1094a   回退到指定commit id -  即版本号

    git checkout -- file         丢弃工作区的修改

    git reset HEAD <file>    把提交到暂存区的撤回到工作区

    如果回撤后,又要到未来,需要知道明确的版本号,如何知道版本号?==>  git reflog 记录每一次的命令,可见, 上一次的commit是1094a(不用输完整的)

    $ git reflog
    e475afc HEAD@{1}: reset: moving to HEAD^
    1094adb (HEAD -> master) HEAD@{2}: commit: append GPL
    e475afc HEAD@{3}: commit: add distributed
    eaadf4e HEAD@{4}: commit (initial): wrote a readme file 

    关于参数有三个 https://blog.csdn.net/qq_15003505/article/details/81408826

    --hard         移动本地库HEAD指针,且重置暂存区,且重置工作区  撤回commit  撤回add  并把你删除或者新增的文件也回撤了.即,回撤到上一次commit时的初始环境

    --mixed       移动本地库HEAD指针,且重置暂存区  (不写参数默认)   撤回commit  并撤回add 

    --soft        移动本地库HEAD指针    撤回commit

    add以后又想恢复(从缓存区移除):  git checkout -- 文件名      两个杠可以省略不写。但最好还是写一下,申明是文件的checkout, 否则如果有个分支和文件名相同,优先认为是分支。

    恢复到指定的commit的某个历史版本:  1.  git log --oneline   显示所有提交版本  找到commit id    2. git checkout   那个找到的commitid  --  文件名 

    某文件恢复到master的版本: git checkout master  -- 文件名

    已经add还未commit  , 先 git reset HEAD 文件名     再git checkout --文件名

    已经add且commit ,git reset --hard HEAD^ 

     

    去除git mergetool不产生*.orig文件

    git config --global mergetool.keepBackup false

    或者直接进入系统用户目录下,修改.gitconfig文件,增加如下内容: 

    1. [mergetool]

    2. prompt = true

    3. keepBackup = false

  • 相关阅读:
    phonegap ios插件开发及无限后台运行解决
    iOS JSON解析
    ios上取得设备唯一标志的解决方案
    为iOS7重新设计你的App
    iOS多线程GCD 研究
    自定义用户环境
    启用SELinux保护
    shell编写一个批量添加用户脚本
    shell编写一个判断脚本
    shell使用特殊变量
  • 原文地址:https://www.cnblogs.com/lhuser/p/11474520.html
Copyright © 2020-2023  润新知