• git 命令小结


    1. git init 

        说明:
            把这个目录变成Git可以管理的仓库
        示例:
            $ git init
            Initialized empty Git repository in /Users/michael/learngit/.git/


    2. git add <file> 
        说明:
            提交所有改动到暂存区
        参数: 
            -A 提交所有

    3. git commit
        说明:
            提交所有暂存区改动至当前分支下
        参数:
            -m "提交的注释内容"
            -a add所有修改到暂存区后,再做commit操作,注意不包括新增加文件。
        示例:
            git commit -a -m "提交BUS路由寻址重构"

    4. git status
        说明:
            查看当前状态

    5. git diff
        说明:
            显示工作区与提交区的不同,两个文件的不同等。
        参数:
            git diff <某个版本号> <某个版本号> <file> 对比两人个版本号的不同

    6. git log
        说明:
            命令显示从最近到最远的提交日志,
        参数:
            --pretty=oneline 表示一行显示日志

    7. git reset
        说明:
            把当前版本回退,也可以把暂存区的修改回退到工作区。
        参数:
            --hard <commit id>
        特别说明:
            HEAD 表示当前分支下当前版本,HEAD^ 表示上一版本,HEAD^^ 表示上上版本,HEAD~10 表示向上第10个版本

    8. git reflog
        说明:查看命令历史,可以查看回退后的未来版本,

    9. git checkout -- <file>
        说明:把修改撤销回到最近一次git commit或git add时的状态。注意:--表示撤销,不带--表示创建一个新分支的命令
        示例:
            场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
            场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。

    10. git rm 
        说明:
            从版本库中删除该文件,使用git rm删掉,再用git commit

    11. 创建ssh-key
        示例:
            $ ssh-keygen -t rsa -C "youremail@example.com"

    12. git remote
        说明:
            与远程服务器操作,无任何参数时,查看远程库列表
        参数:
            add <远程名称,如origin> <ssh:git,远程地址> 本地关联远程的库
        示例:
            git remote add origin git@server-name:path/repo-name.git

    13. git push
        说明:
            提交修改到远程服务器
        参数:
            -u 本地与服务器关联后,第一次提交,需要加上-u参数
            <远程名称> <分支名称> 按远程地址和分支名称提交
        示例:
            git push -u origin master
            第一次推送master分支的所有内容,此后,使用命令git push origin master推送最新修改

    14. git clone
        说明:
            远程库的克隆

    15. git checkout -b <新分支名称> <关联到远程分支:origin/dev>
        说明:
            创建并切换到<新分支名称>
        示例:
            git checkout -b dev
            相当于下面两条命令
            git branch dev
            git checkout dev

    16. git branch 
        说明:
            列出所有分支,当前分支前会标记一个*        
        参数:
            <新分支名称> 创建新分支
            -d <分支名称> 删除分支
            -D  <分支名称> 强制删除分支,放弃修改
            --set-upstream-to <本地分支:dev> <远程分支:origin/dev> 把本地分支关联到远程分支

    17. git checkout <分支>
        说明:
            切换分支

    18. git merge <被合并分支>
        说明:
            分支合并,把<被合并分支>合并到当前分支来,默认使用ff模式
        特别说明:
            Fast-forward合并是“快进模式”,也就是直接把master指向dev的当前提交,所以合并速度非常快。    这种模式下,删除分支后,会丢掉分支信息。即无法看到分支的log信息等。    
            --no-ff方式,是指强制禁用Fast-forward方式,这样分支信息也会被合并到当前分支。
        示例:
            git merge --no-ff -m "merge with no-ff" dev

    19. 冲突解决--conflict
        说明:
            分支合并时,发生的冲突,git无法执行“快速合并”,只能试图把各自的修改合并起来。若自动合并发生了冲突,必须手动解决冲突后,再提交,再合并。

    20. git stash
        说明:
            把当前工作现场”储藏“起来。一般用于你想跳转到其他分支,但又不想提交当前分支的代码。
        参数:
            list 查看当前分支下的stash的列表
            apply 恢复
            drop 删除
            pop 恢复的同时,把stash内容也删除了
        示例:
             git stash pop
             提取最近一个stash,并清除当条stash
             git stash pop stash@{0}
             提取stash@{0},并清除

    21. git tag
        说明:
            标签操作,不带参数时,可查看当前分支的所有标签列表
        参数:
            <tagname> 对当前版本打上标签
            <tagname> <commit id> 给<commit id>的历史提交操作打上标签
            -d <tagname> 删除标签



    22. git show
        说明:
            显示最新一次提交的详情
        参数:
             <tagname> 查看标签信息

    23. git push <远程名称> <tagname>
        说明:
            把标签<tagname>推送到<远程名称>
        参数:
            --tags 一次性推送全部尚未推送到远程的标签
            <远程名称> :refs/tags/<tagname> 删除一个远程标签
        示例:
            git push origin --tags
            推送所有未推送的标签
            git push origin :refs/tags/<tagname>
            删除一个远程标签

  • 相关阅读:
    (HDOJ 2034)人见人爱AB
    (UVa 100) The 3n + 1 problem
    (HDOJ 2099)整除的尾数
    (UESTCOJ 1004)8球胜负(eight)
    asp.net中对数据库表插入null空值的问题
    利用模版生成html页
    如何取得IP/用户名等信息
    SQL SERVER的数据类型
    在IIS与.net框架中配置中把扩展名.aspx改成自定义的扩展名.mspx
    c#中什么情况下用(int)什么情况下用Convert.ToInt32?
  • 原文地址:https://www.cnblogs.com/tonyIt/p/4500330.html
Copyright © 2020-2023  润新知