天天看点

git使用大全,简单明了不啰嗦。

本文总结来自廖雪峰的官网

git使用大全,简单明了不啰嗦。
  • 初始化一个Git仓库:

    1. 使用gitbash进入一个空目录

    2. 使用

    git init

    命令,创建git版本库。
  • 添加文件到Git仓库,分两步:
    1. 使用命令

      git add <file>

      ,注意,可反复多次使用,添加多个文件;就是把文件修改添加到版本库里的暂存区,每次修改,如果不添加到暂存区,提交时不会加入到分支中。
    2. 使用命令

      git commit -m <message>

      ,提交的说明一定要写(字符串加双引号);就是把暂存区的所有内容提交到当前分支。
  • 查看工作区状态:
    1. 使用

      git status

      命令,随时掌握工作区的状态;

      状态一:修改了没有添加到缓存区(红色)

      状态二:修改了添加到了缓存区(绿色)

      状态三:

      On branch master nothing to commit, working tree clean

    2. 如果是状态一,用

      git dif

      f可以查看修改内容。“-”号是修改前,‘’+"号是修改后,第一个加号后修改的前一行。第二个加号是修改的内容
  • 切换版本库:

    在分支中HEAD指向的版本就是当前版本,因此使用命令

    git reset --hard commit_id

    可以随意切换到修改过的版本当中。
    • git log

      可以查看提交版本的历史信息,即查询

      commit_id

      以便确定要回退到哪个版本,

      git log --pretty=oneline

      可以使历史信息更直观。
    • git reflog

      查看命令历史,记录了所有分支的所有操作(包括已经被删除的 commit 记录和 reset 的操作)。
  • 撤销修改:

    git checkout -- <file>

    可以丢弃工作区的修改:
    • 场景1:修改了工作区的内容,没有添加到缓存区
      • 直接操作工作区文件,但如果修改过多容易操作错误
      • 用命令

        git checkout -- <file>

        ,撤销本次的全部修改
    • 场景2:修改了工作区内容,还添加到了暂存区时,想丢弃修改,分两步,
      1. 用命令

        git reset HEAD <file>

        就回到了场景1,
      2. 按场景1操作。
    • 场景3:添加到缓存区且提交,想要撤销本次提交,只能切换版本,不过前提是没有推送到远程库。
  • 删除文件:

    前提是文件有被添加到版本库,不然没有记录就不能实现任何git的操作

    同理删除算大修,改执行下面两种操作后,不用添加到暂存区了,直接提交

    git commit -m <message>

    这样当前版本也就删除了改文件
    • 直接在工作区删除文件
    • git rm <file>

      删除文件
  • 远程仓库:
    • 关联远程仓库

      $ git remote add origin

      https://github.com/609678513/gitStudy.git`
    • 上传推送本地分支

      $ git push -u origin master

      • 远程仓库默认的主分支是origin,对应本地仓库的master
    • 克隆远程仓库

      $ git clone

      https://github.com/609678513/gitskills.git 注意:Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快
  • 分支管理:
    • 当前分支作业时:
      • 查看分支:

        git branch

      • 创建分支:

        git branch <name>

      • 切换分支:

        git checkout <name>

      • 创建+切换分支:

        git checkout -b <name>

      • 合并某分支到当前分支:

        git merge <name>

        • 合并分支时,Git会用Fast forward(快进)模式,但这种模式下,删除分支后,会丢掉分支信息,
        • 禁用该功能,Git就会在merge时生成一个新的commit

          $ git merge --no-ff -m "<message>" <name>

      • 删除分支

        git branch -d <name>

        • 当前分支没有合并时会提示

          $ git branch -D <name>

          即是否强行删除,输入该指令即可强行删除该分支
    • 临时切换分支作业时
      • 暂存分支工作状态

        git stash

      • 查看分支存储的工作状态

        git stash list

      • 恢复分支工作状态

        git stash apply

      • 删除分支存储的工作状态

        git stash drop

      • 恢复并删除分支存储工作状态

        git stash pop

    • 本地同步更新远程分支:

      git pull

      廖雪峰官网多人协作开发

继续阅读