美文网首页
Git简介与常用命令

Git简介与常用命令

作者: 假装刷微博 | 来源:发表于2017-04-12 09:37 被阅读15次

    git是什么?

    Git是一个开源的<b>分布式</b>版本控制系统,用于敏捷高效地处理任何或小或大的项目。
    ps:果然很简介...

    学习链接

    git官网
    pro git
    廖雪峰的git教程
    阮一峰的git博文

    git概念

    工作区
    暂存区
    本地仓库
    远程仓库
    本地分支
    远程分支

    暂存 git add
    提交 git commit
    获取 git fetch
    拉取 git pull
    合并 git merge
    推送 git push
    分支 git branch

    Git 有三种状态:已提交(committed)、已修改(modified)和已暂存(staged)。 已提交表示数据已经安全的保存在本地数据库中。 已修改表示修改了文件,但还没保存到数据库中。 已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

    基本的 Git 工作流程如下:

    1. 在工作目录中修改文件。
    2. 暂存文件,将文件的快照放入暂存区域。
    3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 版本库。

    Git 分支 - 分支开发工作流

    https://my.oschina.net/nyankosama/blog/270546
    https://my.oschina.net/nyankosama/blog/270581

    git命令清单

    • git --help 查看git帮助命令
    • git --version 查看git版本信息
    • git help config 查看config命令的帮助
    • git config -h 查看config命令的帮助
    • git config --global user.name "John Doe" 设置用户名
    • git config --global user.email johndoe@example.com 设置用户邮箱
    • git config --list 查看所有配置
    • git init 把当前目录变成git仓库
    • git status 查看仓库的状态
      git clone <url>
      git add <filePath>
      git add -A
      git commit
      git commit -m 'memo'
      git commit -am -m 'memo'
      git push
      git push origin <本地分支名>:远程分支名
      git log
      git reflog
      git reset HEAD <file>
      git remote
      git remote -v
      git remote add <shortname> <url>
      git branch
      git branch -a
      git branch -vv
      git checkout <>
      git checkout -b
      git checkout -b 本地分支名x origin/远程分支名x
      git pull
      git pull <远程主机名> <远程分支名>:<本地分支名>
      git fetch
      git merge
      git tag

    (use "git add <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)
    (use "git reset HEAD <file>..." to unstage)

    用git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别

    git diff 比较的是工作区和暂存区的差别
    git diff --cached 比较的是暂存区和版本库的差别
    git diff HEAD 可以查看工作区和版本库的差别

    git checkout -- file 可以丢弃工作区的修改
    git checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。
    用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file
    ,就回到了场景1,第二步按场景1操作。
    场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交, 使用命令git reset --hard commit_id,不过前提是没有推送到
    远程库。

    HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,
    git reset --hard HEAD^
    git reset --hard HEAD~1

    穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。

    要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

    git push origin master 把本地master分支的最新修改推送至远程库

    Git鼓励大量使用分支:

    查看分支:git branch

    创建分支:git branch <name>

    切换分支:git checkout <name>

    创建+切换分支:git checkout -b <name>

    合并某分支到当前分支:git merge <name>

    删除分支:git branch -d <name>

    当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

    用git log --graph命令可以看到分支合并图。

    相关文章

      网友评论

          本文标题:Git简介与常用命令

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