git学习笔记

来源:互联网 发布:租车软件 编辑:程序博客网 时间:2024/04/29 09:00

ps:以下笔记均在windows下测试的,其他平台博主没有测试,请注意


一些理论知识

1.当我们切换分支的时候,会自动使用分支上最新的一个提交记录还原当前的暂存区和工作区

2.任何一个分支每提交一次,都会指向最新的那个提交记录


简单的命令

1.初始化一个目录为一个仓库

git init
表示初始化当前的这个目录为一个仓库
git init <folderName>
表示初始化当前目录中的指定的下一级目录为一个仓库
比如:git init demo
表示当前文件夹下的demo初始化为一个仓库,如果文件夹不存在,自动创建


2.添加文件到暂存区

git add <filename> 
比如:  git add 1.txt 2.txt
表示添加两个文件到暂存区,支持通配符


3.查看状态

git status 
可以查看没有添加到仓库的文件,被更改的文件,被删除的文件,被重命名的文件.......
是一个很重要的命令


4.删除文件

git rm <filename>
比如:  git rm 1.txt
表示删除仓库中的1.txt文件,这是git帮你删除文件
如果模拟的是一个ide的删除操作,那就是直接到我们的目录下直接删除
然后使用git status可以查看状态,比如下图
可以看到文件yyy被删除了,但是仓库中还存在,被git检测出来了,你可以使用
git add yyy
git commit
让文件真的在仓库中删除掉,这几步和上述的git rm yyy是一样的,只不过分出了几步来做


5.创建一个新的分支

git branch <name>
创建一个分支,name参数是分支的名字,举例用法:
git branch test
表示创建一个名称为 "test" 的分支


6.查看所有分支的提交记录

git log --oneline --decorate --graph --all


7.给某一个分支标记

git tag <tagName> <hash>
比如某一个分支的hash前七个字符是:4e6b166
那么可以这样子给这个分支一个标记
git tag "pp" 4e6b166
那么这个分支就被标记了

8.查看所有的tag

git tag


9.查看某一个分支的内容

git show <tagName>
比如第六点的分支的标志为: "pp"
git show "pp"


10.配置全局的命令,类似于C语言中的宏

git config --global alias.xxx "命令" 
xxx是后面命令的简短形式
比如:
git config --global alias.llog "git log --oneline --decorate --graph --all"
那么输入命令:
git llog 
等同于
git log --oneline --decorate --graph --all


11.保存工作区和暂存区中的信息

git stash save -a <name>
表示保存工作区和暂存区的信息,name参数是保存的名称,-a表示同时保存暂存区,如果没有参数-a,表示不保存暂存区的数据
git stash save -a "stash1"


12.查看所有的stash

get stash list

表示查看所有保存的stash



13.还原一个stash

git stash pop --index <stashTag>

--index 表示还原的时候同时还原暂存区的数据

stashTag表示要还原的那个stash的标识

举例示范:

git stash pop --index stash@{0}

这里的stash@{0}就是第十二点中罗列出来的一个stash的标识

ps:原来的stash会被删除,如果还原并且不删除保存的stash,那么可以输入以下命令:

git stash apply --index <stashTag>

表示应用这个stash,但是不删除原来保存的stash


14.删除stash

git stash drop <stashTag>

使用范例:

git stash drop stash@{0}

表示删除标识为stash@{0}的那个stash

如果不加上stash@{0}

则会删除最顶层的那个stash


git stash clear

表示删除所有的stash


15.clone的使用

git clone -b <branch name> [remote repository address]


16.push的使用

git push <远程主机名> <本地分支名>:<远程分支名>


17.pull的使用

git pull <远程主机名> <远程分支名>:<本地分支名>

git添加过滤文件:.gitignore文件的编写

1.[ ] 匹配单个字符

比如*.[rt]表示所有后缀是 .r 或者是.t的不要添加到仓库中
如果想要匹配所有后缀是 "t"结尾的,可以这样子:  *.*t


2.*匹配任意个字符,这个比较简单

*表示所有文件都匹配了
*.*表示所有有 "."的,比如xx.txt   .ttt    rrr.  都是匹配的,如果没有 ".",那么不匹配


3.!匹配那些放弃忽略的文件,也就是想要加入仓库的文件

比如!*.ttt  所有后缀是"ttt"的文件都应该加入到仓库中


4./用于匹配目录


1 0
原创粉丝点击