美文网首页
Git的一些常用命令

Git的一些常用命令

作者: kevinzang | 来源:发表于2018-06-14 22:58 被阅读0次

    要很好的掌握Git,先要明白四个名词概念:

    1. Workspace(工作区):新添加的,和修改的未add操作的。

    2. Stage(暂存区):add操作过后,会进入暂存区。

    3. Repository(本地仓库):commit操作后,会进入本地仓库。

    4. Remote(远程仓库):push操作后,会提交到远程仓库。

    Git的配置:

    # 显示当前的Git配置
    $ git config --list 
    
    #设置用户名和邮箱,即提交代码时的用户信息
    $ git config [--global] user.name "[name]"
    $ git config [--global] user.email "[email address]"
    

    添加/删除文件(到暂存区,即add操作):

    #可以添加一个或多个
    $ git add <file1> <file2>...
    
    #添加所有修改的和新添加的
    $ git add .
    #另一种写法
    $ git add -A
    
    #添加指定目录
    $ git add <dirname>
    
    #由暂存区恢复到工作区(发现提交错了,退回一步)
    $ git reset HEAD <file> 
    
    #恢复上一次add提交的所有file
    $ git reset HEAD
    
    #撤销修改操作,恢复到修改之前的,撤销add后位于工作区下进行的
    $ git checkout -- <file>
    
    #删除文件,并将文件放入暂存区
    $ git rm <file1> <file2>
    
    #改文件名,并将修改后的文件放入暂存区
    $ git mv <file-original> <file-rename>
    

    提交到本地仓库(commit操作)

    #提交暂存区的所有文件(后面的message不可缺少)
    $ git commit -m <message>
    #提交暂存区的指定文件
    $ git commit <file1> <file2> -m <message>
    

    分支操作(branch)

    # 列出所有本地分支
    $ git branch
    
    # 列出所有远程分支
    $ git branch -r
    
    # 列出所有本地分支和远程分支
    $ git branch -a
    
    # 新建一个分支,并切换到该分支
    $ git checkout -b [branch]
    
    # 切换到指定分支,并更新工作区
    $ git checkout [branch-name]
    
    #从远程分支检出指定分支
    $ git clone -b <branchname> <master>
    
    # 合并指定分支到当前分支(主分支合并自定义分支)
    $ git merge [branch]
    
    # 删除分支
    $ git branch -d [branch-name]
    
    # 删除远程分支
    $ git push origin --delete [branch-name]
    $ git branch -dr [remote/branch]
    

    查看信息:

    # 显示有变更的文件
    $ git status
    
    # 显示当前分支的版本历史
    $ git log
    

    .gitignore的配置:

    缘由:当我们导入一个git项目时,开发环境会改变里面的一些配置,当我们修改完代码后,add,commit操作后,系统更改的配置信息,并不想去提交,这个时候就会用到这个配置,配置完成后,才更好的去add .和commit -m去操作。

    用法规则和语义:
    # 此为注释 – 将被 Git 忽略
    *.a       # 忽略所有 .a 结尾的文件
    !lib.a    # 但 lib.a 除外
    /TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
    build/    # 忽略 build/ 目录下的所有文件
    doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    

    注意:如果你是新加的,这里需要注意的是.gitignore只能作用于没有被track的文件,也就是工作区的文件,对于add,commit操作后的文件是没有作用的,这个时候需要先把本地的缓存删除,在去提交,就可以实现忽略整个仓库文件了。

    git rm -r --cached .
    git add .
    git commit -m 'update .gitignore'
    
    常用的配置:

    eg1:

    /build
    /.idea
    /.gradle
    /local.properties
    .gitignore
    

    eg2:

    # Java class files
    *.class
    
    # Generated files
    bin/
    gen/
    
    # Gradle files
    .gradle/
    build/
    
    # Local configuration file (sdk path, etc)
    local.properties
    
    # Proguard folder generated by Eclipse
    proguard/
    
    #Android Studio
    build/
    
    # Intellij project files
    *.iml
    *.ipr
    *.iws
    .idea/
    
    #gradle
    .gradle/
    

    转载自http://blog.csdn.net/zxyudia/article/details/67633321

    相关文章

      网友评论

          本文标题:Git的一些常用命令

          本文链接:https://www.haomeiwen.com/subject/xivueftx.html