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
记录每次更新到仓库
工作目录下的每一个文件都不外乎这两种状态:已跟踪或未跟踪。 已跟踪的文件
是指那些被纳入了版本控制的文件,在上一次快照中有它们的记录,在工作一段时间后,它
们的状态可能处于未修改,已修改或已放入暂存区。 工作目录中除已跟踪文件以外的所有其
它文件都属于未跟踪文件,它们既不存在于上次快照的记录中,也没有放入暂存区。 初次克
隆某个仓库的时候,工作目录中的所有文件都属于已跟踪文件,并处于未修改状态。
检查当前文件状态
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
- git diff filepath 工作区与暂存区比较
- git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较
- git diff --staged 或 --cached filepath 暂存区与HEAD比较
- git diff branchName filepath 当前分支的文件与branchName 分支的文件进行比较
- git diff commitId filepath 与某一次提交进行比较
-
请注意,git diff 本身只显示尚未暂存的改动,而不是自上次提交以来所做的所有改动。 所以有时候你一下子暂存了所有更新过的文件后,运行 git diff 后却什么也没有,就是这个原
因。
image.png
image.png - git diff --cached 查看已经暂存起来的变化:(--staged 和 --cached 是同义词)
-
查看某次提交与当前的不同
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
- branch
git分支管理 -
reset 参数
image.png