您好,欢迎来到好走旅游网。
搜索
您的当前位置:首页git的使用(二)

git的使用(二)

来源:好走旅游网

一 commit操作

  对于 git 操作,每次修改都是有所记录,比如删除并不是真的删除了,所有的操作都记录在磁盘上,git 的本质就是以空间换方便。
有如下提交历史:

1 修改提交记录

  在提交过程中,有时候发现某次的提交记录不恰当,需要修改,可以使用如下操作:

# git rebase -i 434b071f

Stopped at f0f7a14...  modfy a.c
You can amend the commit now, with

  git commit --amend

Once you are satisfied with your changes, run

  git rebase --continue

  然后依次执行命令:

# git commit --amend  在此修改记录
# git rebase --continue

2 删除提交

  对于一个大型项目,开发周期的增加,导致提交的次数也增加,有可能一个功能会需要提交好几次,对于参与开发的人来说增加了负担,故此需要定时删除一些 commit 记录。但是,drop很多时候会出现错误,此错误无法解决,不建议使用。如下提交记录:

3 合并提交记录

  合并提交记录的操作有两个,都是合并到前一个commit中,具体的区别如下:

二 stash功能

  Git 提供了一个 stash 功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作(前提是文件已经被跟踪)

$ git stash #保存工作区
Saved working directory and index state WIP on dev: 6224937 add
merge
HEAD is now at 6224937 add merge
$ git stash list #查看已经保存的工作区
stash@{0}: WIP on dev: 6224937 add merge

  工作现场还在,但是需要恢复一下,有两个办法:

$ git stash apply #恢复后,stash内容并不删除
$ git stash drop #删除stash内容
$ git stash pop #恢复的同时把stash内容也删了

  多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令:

$ git stash apply stash@{0}

三 自定义功能

1 忽略特殊文件

2 忽略文件夹

  对于文件夹的忽略比较特殊:

# 注释行
# 忽略dbg文件和dbg目录
dbg
# 只忽略dbg目录,不忽略dbg文件
dbg/
# 只忽略dbg文件,不忽略dbg目录
dbg
!dbg/
# 只忽略当前目录下的dbg文件和目录,子目录的dbg不在忽略范围内
/dbg

  :代表任意的一个字符;*:代表任意数目的字符;{!ab}:必须不是此类型;{ab,bb,cx}:代表ab,bb,cx中任一类型即可;[abc]:代表a,b,c中任一字符即可;[^abc]:代表必须不是a,b,c中任一字符。

3 .gitignore失效

  某些文件如果已经被纳入了版本管理中,后期在 .gitignore 中已经声明了忽略路径也不起作用,这时候我们就应该先把本地缓存删除,然后再进行 git push 操作,这样就不会出现忽略的文件了。
  git清除本地缓存命令如下(例如删除 .idea 文件夹的版本控制):

# 先将 .idea 的文件路径加入 .gitignore
git add .gitignore
git rm -r --cached .idea
git add .
git commit -m 'update .gitignore'

  这样就将 .idea 从版本控制中删除了。

4 .gitattributes

  指定非文本文件的对比合并方式。

四 配置

  config 配置有system级别 global(用户级别) 和local(当前仓库)三个 设置先从system-》global-》local 底层配置会覆盖顶层配置 分别使用–system/global/local 可以定位到配置文件:

1 查看配置

  查看系统config:git config --system --list
  查看当前用户(global)配置:git config --global- --list
  查看当前仓库配置信息:git config --local --list

2 git命令中文显示乱码

  使用git add添加要提交的文件的时候,如果文件名是中文,会显示形如897\232\350\256…的乱码,解决办法:git config --global core.quotepath false
  原因:core.quotepath设为false的话,就不会对0x80以上的字符进行quote。中文显示正常。

五 查看 git项目的地址及子模块

  使用命令:git config -l
  关于子模块的介绍在第四篇中。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- haog.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务