美文网首页
Git基础命令

Git基础命令

作者: 莫忘初心_倒霉熊 | 来源:发表于2020-02-23 15:25 被阅读0次
    • 在Linux上安装Git
    sudo apt-get install git
    
    • 设置仓库全局用户名和Email
    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"
    

    注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

    • 初始化一个Git仓库
    git init
    
    • 添加文件到Git仓库,分两步:
    1. 使用命令把文件修改添加到暂存区;
    git add <file>
    

    注意,可反复多次使用,添加多个文件;

    1. 使用命令把暂存区的所有内容提交到当前分支
    git commit -m < commit-message>
    

    git commit命令,-m后面输入的是本次提交的说明

    • 查看工作区的状态,
    git status
    
    • 查看暂存区和工作区的区别
    git diff
    
    • 查看版本库里面最新版本和工作区的区别
    git diff HEAD -- <file>
    
    • 回退版本
    git reset --hard <commit_id>
    

    在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

    • 查看提交历史
    git log
    

    如果嫌输出信息太多,可以试试加上--pretty=oneline参数:

    git log --pretty=oneline
    
    • 查看命令历史
    git reflog
    
    • 丢弃工作区的修改
    # 丢弃工作区某个文件的修改
    git checkout -- <file>
    
    # 丢弃工作区所有的文件修改
    git checkout .
    

    命令git checkout -- <file>意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

    1. 一种是file自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
    2. 一种是file已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

    总之,就是让这个文件回到最近一次git commit或git add时的状态。

    • 把暂存区的修改撤销掉(unstage),重新放回工作区
    git reset HEAD <file>
    

    git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用HEAD时,表示最新的版本

    • 删除一个文件
    git rm
    

    如果一个文件已经被提交到版本库,那么你永远不用担心误删,但是要小心,你只能恢复文件到最新版本,你会丢失最近一次提交后你修改的内容。

    • 复制一个特定的提交到当前分支
    git cherry-pick <commit-id>
    
    • 删除未跟踪文件

    想批量删除branch中新加的文件(untracked files),git reset --hard不行

    # 删除 untracked files
    git clean -f
     
    # 连 untracked 的目录也一起删掉
    git clean -fd
     
    # 连 gitignore 的untrack 文件/目录也一起删掉 (慎用,一般这个是用来删掉编译出来的 .o之类的文件用的)
    git clean -xfd
    
    # 如果git submodule中也存在需要删除的文件那么需要再加个-f
    git clean -dff
     
    # 在用上述 git clean 前,墙裂建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
    git clean -nxfd
    git clean -nf
    git clean -nfd
    

    相关文章

      网友评论

          本文标题:Git基础命令

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