Linux中常用命令
- echo:显示一个东西
Git常用命令
获得版本库
Git init
创建并初始化一个空的仓库,在git所有的操作都是在某一个分支上进行的,使用git init创建一个默认的分支,.git目录是用来操作git的文件,当删除之后就不是git仓库了,在每个文件中只有一个.git目录
git status是用来查看当前工作区域属于一种什么状态
首先创建了一个文件名为mygit的文件夹,然后在文件夹中使用指令git init创建.git的子文件,一开始我是在.git文件夹中创建test.txt文件,然后使用git add出现如下提示
系统提示我没有文件可以添加,然后我在mygit文件夹中创建test.txt,然后再使用git add,结果发现通过
注意:每个git指令都要在主分支中进行,意思就是执行git命令都在在和.git文件同层的文件夹中
Git clone
Git status
可以使用git --short来简化输出状态信息,新添加的未跟踪文件前面有 ?? 标记,新添加到暂存区中的文件前面有 A 标记,修改过的文件前面有 M 标记。 你可能注意到了 M 有两个可以出现的位置,出现在右边的 M 表示该文件被修改了但是还没被放入暂存区,出现在靠左边的 M 表示该文件被修改了并被放入了暂存区
版本管理
git add
将当前已修改的文件纳入到已缓存区域当中,**这是个多功能命令:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等。 将这个命令理解为“添加内容到下一次提交中”而不是“将一个文件添加到项目中”要更加合适。**当运行成功时不会出现提示,可以用git status查看,会出现如下提示:
git commit
git commit命令是将缓存区的内容提交到版本库,一开始使用会提示:
网上查了原因,是因为在创建本地仓库时未定义邮箱和用户,我们可以使用如下命令:
git config --global user.email “you@example.com”
git config --global user.name “youname”
来完成配置
对于user.name和user.email来说,有三个地方可以设置:
1.etc/gitconfig(几乎不会用)配置方式是:git config --systenm
2.~/.gitconfig(很常用)这个是对于所有用户项目都会使用者这个信息,配置方式是:git config --global
3.针对于特定项目的,在于.git/config,,配置方式是:git config --local
常用的git config命令(t通过命令git config查看) 如下:
设置 的用户名和邮箱的优先级为从后往前排
使用git status查看信息:
至此,我们已经完成了一次修改,提交到缓存区,提交到版本库这样一个过程
补充:在使用git commit命令后,我们会跳入到一个一个vim界面,为了使用方便,我们可以直接使用git commit -m “对本次提交的注释”
git rm
删除版本库中的文件,需要和git checkout – 命令区分,后者是删除修改取中新增的内容,而前者是将提交的缓存区的文件从版本库中删除
在git中删除文件有两个命令:
-
git rm
git rm实际上执行两个步骤:首先从版本库中删除一个文件,然后将被删除的文件纳入到暂存区中(stage,index)
如果想要恢复被删除的文件,需要进行两个动作:
a. git reset HEAD 文件名 (将删除的文件从暂存区恢复到工作区,即将文件恢复到未修改的状态)
b. git checkout – 文件名 (将工作区中的修改丢弃掉) -
rm:
将文件直接从版本库删除,这时被删除的文件并未纳入暂存区
git rm和rm的区别:git rm是从版本库中删除一个文件,并恢复到暂存区的状态,rm是从版本库删除一个文件,并恢复到工作区状态
git mv
修改一个版本库的文件名
查看命令
git help
获取关于git的一些帮助
git log
使用git log来查看提交信息:
commit后面的字符串是提交的ID,id是一个摘要值,这个摘要值实际上是一个sha1计算出来的
第二行是用户名和邮箱,然后q按键推出
查看提交日程
git diff
此命令比较的是工作目录中当前文件和暂存区域快照之间的差异。 也就是修改之后还没有暂存起来的变化内容
若要查看已暂存的将要添加到下次提交里的内容,可以用 git diff --staged 命令。 这条命令将比对已暂存文件与最后一次提交的文件差异
远程协作
git pull
从远程版本库中的文件拉取到本地
git push
将本地的文件版本库放到远程版本库