博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git 详细的操作指南笔记(从零开始)
阅读量:6701 次
发布时间:2019-06-25

本文共 3659 字,大约阅读时间需要 12 分钟。

git地址:

喜欢的朋友start一下,长期更新文章

设置

安装git后我们需要配置一下,告诉git我们的基本信息等等..一般在用户范围内去配置 git ,也就是在 global 范围。

  • global 全局设置

    $ git config --global user.name 'xxxx'  $ git config --global user.email 'xxxx'复制代码

    同时我们可以用 $ git config --list来查看我们的设置,

    如果需要修改重新设置使用

    $ git config --unset --global user.name复制代码

    全局范围的配置会保存在当前用户的主目录下面 叫.gitconfig 的文件里面。我们可以使用cat ~/.gitconfig来查看

    $ cat ~/.gitconfig复制代码
    设置别名-alias

    通过别名可以简化经常输入的内容,别名的配置也可以在gitconfig里面查看

    git config --global alias.cm commit复制代码

    这样当你在commit 的时候 就可以 使用 git cm -m 'xx'来代替了。

  • 全局忽略文件

    有时候我们需要去忽略系统生成的文件比如mac 下的.DS_Store,我们可以在全局设置gitignore

    git config --global core.excludesfile ~/.gitignore_global复制代码

    然后在gitignore文件里面写入需要忽略的文件

    .DS_Store复制代码

    你可以参考下面的链接来看更多要忽略的文件

    如果在项目中可以创建名为.gitignore,为每个项目配置。具体忽略的文件可以查看上面的链接

    如果你想忽略掉已经跟踪的文件,可以使用 git rm cached选项,再指定一下文件名称,这样可以取消跟踪指定的文件。


Git 基础命令

  • 初始化Git

    控制和管理项目需要初始化git

    $ git init复制代码
  • 查看当前修改 -git status

    $ git status复制代码
  • 查看提交的信息 -git log

    $ git log  $ git log --oneline //显示在一行  $ git log --oneline --before = '2017-01-01' //显示2017-01-01的提交复制代码

    你可以使用git help log 查看更多信息

  • 提交 -git commit

    添加新的文件,或者修改已有的文件,之后使用commit告诉 git 你做了哪些事情。可以使用git log 查看以往的提交。

    $ git commit -m '这里来描述事情'复制代码
  • 对比差异 -git diff

    如果你修改了文件,你想查看自己目前修改的了哪些,可以使用

    $ git diff复制代码

    如果想跟暂存区里面的文件进行对比(暂存区就是git add 文件),可以用

    $ git diff --staged复制代码
  • 重命名,移动 -git mv

    git mv可以重命名或者移动文件和目录

    $ git mv xx1.js xx2.js //重命名  $ git mv xx1.js js/ //移动文件  $ git mv js asset/ //移动目录复制代码
  • 删除文件 -git rm

    $ git rm fileName复制代码

    如果你想删除暂存区的可以使用

    $ git rm --cached fileName复制代码
  • 撤销操作 -git amend

    如果提交commit之后发现有遗漏的文件可以使用该命令,具体流程

    $ git conmmit -m "xxx.js"  $ git add "xxx2.js"  $ git commit --amend --no-edit复制代码

    上面的三条命令最终只是产生一个提交,第二个提交命令修正了第一个的提交内容。提交之后你就可以使用git log --name-status提交了哪些文件

  • 修改撤销文件 -git checkout

    比如你删除了index.html,使用以下命令恢复文件,也可以恢复之前修改过的

    $ git checkout  -- index.html  $ git checkout .  //会取消所有本地的复制代码
  • 撤销已经add的文件 -git reset

    有时我们会不小心git add,取消某些add的文件。(还原暂存区)

    $ git reset HEAD fileName复制代码
  • 撤销已经commit的文件 -git reset

    假如你的项目已经commit了,可以用到该命令恢复到指定的commit。

    第一步 git log --oneline

    5c422a3 add html  6804500 Delete a.css复制代码

    第二步

    $ git reset id  //id 是指上面commit 的id复制代码

    第二种方法,更快捷的

    $ git reset HEAD^ // 回退到上一个commit, 默认--mixed复制代码

    git reset 有3个选项,

    --soft 不会影响到工作目录还有暂存区里的东西
    --hard 工作目录,暂存区直接重置到指定的提交状态
    --mixed 默认选项,会把暂存区里的东西重置到指定提交状态,并且指针指向这个提交。

    一般情况, 如果你发现commit文件是存在bug情况,你只需要修改文件代码,那就用默认的mixed,hard会重置文件的内容到指定的commit,也就是说你的之前写的代码会被重置删除掉,切记。

    git reset [--soft | --mixed | --hard] [-q] [
    ]复制代码
  • 保存修改恢复进度文件 -git stash

    stath 可以让工作进度先保存起来,需要用到的时候在恢复。

    场景: 你修改文件app.js ,然后你git add file后你暂时不想跟后面的文件一起commit,那么就可以先储存起来

    $ git stash save "这里可以是说明"复制代码

    查看保存的进度,或者显示进度的目录

    $ git stash list  $ git stash show -p stash@{..}复制代码

    恢复进度(取出之前保存的进度)

    $ git stash apply stash@{..}复制代码

    删除不需要的进度

    $ git stash drop 或者 后面跟上stash@{..}代号复制代码

分支branch

  • 查看,创建项目分支

    $ git branch  $ git checkout -b [name_new_branch] 复制代码
  • 删除分支

    $ git branch -d [name_branch] 复制代码
  • 切换分支

    $ git checkout [branch-name]复制代码
  • 对比分区的区别

    $ git checkout branch复制代码
  • 分区合并

    $ git merge [your_branch]复制代码

    注意:如果你合并master ,首先需要切换到master 分支下进行合并。

  • 分区对比

    $ git diff [branch]..[branch]复制代码
  • 重命名branch

    $ git branch -m [branch] [new_name_branch]复制代码

远程 remote

  • 添加远程地址

    $ git remote add origin [git_address]复制代码
  • 分支推送到远程的版本

    $ git push origin master复制代码

具体很多细节去多看看深入的实战


git log 命令支持选项参考

选项 说明
-p 按补丁格式显示每个更新之间的差异
--word-diff 按 word diff 格式显示差异。
--stat 显示每次更新的文件修改统计信息。
--shortstat 只显示 --stat 中最后的行数修改添加移除统计。
--name-only 仅在提交信息后显示已修改的文件清单。
--name-status 显示新增、修改、删除的文件清单。
--abbrev-commit 仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
--graph 显示 ASCII 图形表示的分支合并历史。
--relative-date 使用较短的相对时间显示(比如,“2 weeks ago”)。
--pretty 使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。
--oneline --pretty=oneline --abbrev-commit 的简化用法。

更多的深入了解可以去git api查看

参考

转载地址:http://ldwlo.baihongyu.com/

你可能感兴趣的文章
获得包含中英文字符串的自然长度
查看>>
面试时,面试官到底在考察什么?
查看>>
微服务架构的设计模式
查看>>
.NET Core如何为项目提供高性能解决方案?
查看>>
跨平台移动应用开发迎来“大杀器”,Xamarin.Essentials正式版发布
查看>>
JavaOne 2016——首日亮点
查看>>
下一代微服务!Service Mesh 2018年度总结
查看>>
变量对象+作用域链+闭包
查看>>
Chrome将于5月底升级至第51版,届时大部分用户将不能使用HTTP/2
查看>>
B端大数据应用的架构实践与思考
查看>>
华泰证券:如何自研高效可靠的交易系统通信框架?
查看>>
蚂蚁数据分析平台的演进及数据分析方法的应用
查看>>
Mozilla正在SpiderMonkey中测试JavaScript并行计算
查看>>
Node.js 6.0支持93%的ES2015语法
查看>>
Elixir 1.2带来多项功能增强和性能提升
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
避免标准数据模型
查看>>
【js】async和await使用
查看>>
如何定义性能需求
查看>>
管理之善,在于让员工有机会试错
查看>>