• git常用命令


    git fetch和git pull的区别

    • git pull = fetch + merge
    • git fetch是取回所有的最新的远程分支更新,不会对本地执行merge操作,所以本地内容不会有改变
    • git pull会从服务器上分支的最新代码更新本地代码对应的分支上

    git merge和 git rebase 的区别

    https://www.cnblogs.com/MuYunyun/p/6876413.html?utm_source=itdadao&utm_medium=referral


     git配置相关

    /*设置用户的姓名,用于每次的commit*/
    git config - - global user.name "lw"
    /*设置用户的邮箱,用于每次的commit*/
    git config - - global user.email lw@example.com  

    git创建的仓库

    /*将现有的项目转变为Git仓库或者新建一个空的仓库*/
    git init
    /*克隆仓库*/
    git clone '远程仓库地址'      

    git提交

    /*将单个文件添加到暂存区中*/
    git add 'filename'
    /*将当前所有文件添加到暂存区中*/
    git add .
    /*提交文件*/
    git commit -m "comment"
    /*添加并提交文件*/
    git commit -a -m "comment"

    git创建分支

    git branch                           // 查看本地所有分支
    git branch -a                        // 查看本地和远程所有分支
    git branch <branch name>             // 创建分支
    git checkout <branch name>           // 切换分支
    git checkout -b <branch name>        // 创建并切换分支

    git删除分支

    git branch -d <branch name>                // 删除分支,无法删除未被合并的分支
    git branch -D <branch name>                // 强制删除分支,可以删除未被合并的分支

    git push origin --delete <branch name> // 删除远程分支

    git分支合并

    git merge <branch>             // 将branch分支合并到当前分支,当前分支拥有branch分支的记录,branch分支不变
    git merge <branch1> <branch2>  // 将分支branch1合并到branch2
    
    /*
    git默认使用fast-farward快合并模式,会直接将要被合并的分支指向当前分支; *但是--no-ff不会,它会创建合并点; **/ git merge --no-ff <branch>
    /*将两个分支合并成一个线性的提交*/ git rebase <branch>

    git查看状态或记录

    /**
     *显示文件的状态: staged,unstaged和untracked三种状态
     *untracked:表示版本库中有新创建的文件,但是并为纳入版本库的管理中
     *unstaged:将untracked状态的文件执行 git add 命令后文件状态就是unstaged,此时 
     *意味着git发现这个文件被改动了,但是改动的部分并没有提交到仓库中
     *staged:表示文件已经被提交到仓库中了
     **/
    git status
    
    /*显示当前分支的commit记录*/
    git log
    
    /*以图的形式显示当前分支的commit记录*/
    git log --graph

    git比较

    /*工作区与暂存区之间的差别,即还没有添加到暂存区的修改,这里比较的是修改内容*/
    git diff
    /*暂存区与上一次提交的差别*/
    git diff --cached
    /*比较两次commit之间的差别*/
    git diff <commit id1> <commit id2>
    /*比较两个分支之间的差别*/
    git diff <branch1> <branch2>

    git回退

    /*将HEAD移动到commit id对应的提交点*/
    git reset <commit id>
    /*工作区、暂存区和历史记录区都会被重置commit id提交点*/
    git reset --hard <commit id>

    git保存修改

    git stash                     // 保存当前工作区和暂存区的状态
    git stash save "message"  // 执行存储时,添加备注,方便查找
    git stash list // 查看所有的stash信息 git stash apply stash@{n} // 恢复指定stash,但不删除该stash记录,如果不指定stash@{n},则默认恢复第一个 git stash drop stash@{n} // 删除指定stash,如果不指定stash@{n},则默认删除第一个 git stash clear // 删除所有stash记录

    git推送远程分支

    git push                            // 默认推送当前分支
    git push -f                         // 强制推送,谨慎操作,可能会覆盖代码
    git push -u origin master           // 将本地的master分支推送到origin主机,同时指定origin为默认主机
  • 相关阅读:
    Higher-Order Functions and Lambdas
    dispatch_sync:As an optimization, this function invokes the block on the current thread when possible
    为什么使用dispatch_sync
    如何安全使用dispatch_sync
    dispatch_sync
    Dispatch Queues and Thread Safety
    高阶函数-参数与返回值
    In Swift, typedef is called typealias:
    偏函数应用(Partial Application)和函数柯里化(Currying)
    Centos下添加用户到用户组
  • 原文地址:https://www.cnblogs.com/lwcode6/p/11818106.html
Copyright © 2020-2023  润新知