git基础(win10)基本指令练习

win10下的练习

初始化git

  • 用户信息
    $ git config --global user.name "chenqi"
    $ git config --global user.email chen_q_i@163.com

  • 检查配置信息
    git config --list

  • 检查 Git 的某一项配置
    git config <key>

创建文件夹
     mkdir learngit
image.png

查看当前路径

 pwd
image.png

git clone

  克隆现有的仓库

当你执行 git clone 命令的时候,默认配置下远程 Git 仓库中的每
一个文件的每一个版本都将被拉取下来。
$ git clone https://github.com/libgit2/libgit2 mylibgit #clone添加别名

初始化git仓库

 git init
image.png

添加文件

git add readme.txt
image.png

记录每次更新到仓库

工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。 已跟踪的文件
是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它
们的状态可能处于未修改,已修改或已放入暂存区。 工作目录中除已跟踪文件以外的所有其
它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。 初次克
隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。

image.png

检查当前文件状态

 git status
image.png
image.png

git add 跟踪新文件

  • git add fileName 追踪指定文件


    image.png
  • git add . #追踪所有文件


    image.png

忽略文件

一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常
都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况
下,我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。

# 常用gitignore文件
# maven ignore
target/
*.jar
*.war
*.zip
*.tar
*.tar.gz

# eclipse ignore
.settings/
.project
.classpath

# idea ignore
.idea/
*.ipr
*.iml
*.iws

# temp ignore
*.log
*.cache
*.diff
*.patch
*.tmp

# system ignore
.DS_Store
Thumbs.db


.externalToolBuilders/
doc/

tansunjsondome/

!/src/main/webapp/WEB-INF/lib/qiniu.jar
/src/test/
!/doc/

查看不同

 git diff
  1. git diff filepath 工作区与暂存区比较
  2. git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较
  3. git diff --staged 或 --cached filepath 暂存区与HEAD比较
  4. git diff branchName filepath 当前分支的文件与branchName 分支的文件进行比较
  1. git diff commitId filepath 与某一次提交进行比较
  • 请注意,git diff 本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动。 所以有时候你一下子暂存了所有更新过的文件后,运行 git diff 后却什么也没有,就是这个原
    因。


    image.png

    image.png
  • git diff --cached 查看已经暂存起来的变化:(--staged 和 --cached 是同义词)
image.png
  • 查看某次提交与当前的不同


    image.png

提交更新

现在的暂存区域已经准备妥当可以提交了。 在此之前,请一定要确认还有什么修改过的或新
建的文件还没有 git add 过,否则提交的时候不会记录这些还没暂存起来的变化。 这些修改
过的文件只保留在本地磁盘。 所以,每次准备提交前,先用 git status 看下,是不是都已
暂存起来了, 然后再运行提交命令 git commit :
git commit -m "wrote a readme file"


image.png

image.png

提交后它会告诉你,当前是在哪个分支
( master )提交的,本次提交的完整 SHA-1 校验和是什么( 463dc4f ),以及在本次提交中,有多少文件修订过,多少行添加和删改过。

  • 跳过使用暂存区域
    Git 提供了一个跳过使用暂存区域的方式, 只要在提交的时候,给 git commit 加上 -a 选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add 步骤


    image.png

查看提交日志

 git log
  有许多选项可以帮助你搜寻你所要找的提交
image.png
  • 一个常用的选项是 -p ,用来显示每次提交的内容差异。 你也可以加上 -2来仅显示最近两次提交:


    image.png

该选项除了显示基本信息之外,还在附带了每次 commit 的变化。 当进行码审查,或者快速浏览某个搭档提交的 commit 所带来的变化的时候,这个数就非常有用了。 你也可以为git log 附带一系列的总结性选项。 比如说,如果你想看到每次提交的简略的统计信息,你可以使用 --stat 选项:


image.png

, --stat 选项在每次提交的下面列出额所有被修改过的文件、有多少文件被
修改了以及被修改过的文件的哪些行被移除或是添加了。 在每次提交的最后还有一个总结。


image.png

控制台关闭后查看操作历史

  git reflog 
image.png
image.png

查看提交日志显示在一行

git log --pretty=oneline
image.png

回滚到历史提交

  git reset --hard   HEAD~1
  HEAD 表示当前版本 1表示前一个版本 100表示前100个版本

回滚到指定的commitid

  git reset --hard commitid
image.png
image.png
image.png
  • git reset HEAD <file> 回退文件,将文件从暂存区回退到工作区


    image.png

rebase

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,660评论 1 26
  • GIT分布式版本控制系统最佳实践 这篇文章来自于老男孩教育高级架构师班12期的徐亮偉同学。 首先感谢老男孩架构师班...
    meng_philip123阅读 3,520评论 4 36
  • 五帝钱是中国历史上五位帝王在位期间所铸造并流通的古钱,又称“帝王钱”。自古以来,国人认为古钱具有风水的功能,尤其是...
    Dr茶叶阅读 1,359评论 6 4
  • 沉默似深海孤舟 一夜无言 而无言在路上 满眼繁花 甚至雨后甚至双虹 滂沱里的步伐都在滴水 而乌云团聚下的洞天 希望...
    伍月的四月阅读 159评论 3 3