Git分布式版本管理系统前夜1

1.git对待数据的方式:直接将整个文件进行快照保存索引。不像其他大多数版本控制系统保存文件差异列表文件。

2.git几乎所有操作都是本地的 ,因为git在本地磁盘有项目的完整历史,所以消除了网络获取历史版本的延时。

3.git保证完整性,git在进行存储时会首先进行校验和计算,在git数据库中是根据校验和来索引,而不是文件名。此功能构建于git的底层。

4.git的三种状态:已提交(committed)、已修改(modified)和已暂存(staged)

5.基本的git流程:1修改工作目录中的文件,2暂存文件,将文件的快照(待提交的文件索引)存放到暂存区。3提交更新,找到暂存区的文件,将快照永久存储到git仓库目录。

6. 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。(git config --【 local|global|system】user.name "bigseacoming" )

7.查看配置文件中某个变量:git config 变量名   或者指定变量文件查看: git config --【local|global|system】【--get|无】 变量名 

8.列出所有变量:git config --list

9.编辑配置文件:git config --【local|global|system】-e(默认以vim打开了配置文件)

10.增加一个配置项:git config [–local|–global|–system] –add key value(默认添加在local中

11.git获取帮助命令:git help <查询的命令>(会打开一个html,不过这些html都是存在于本地的)

扫描二维码关注公众号,回复: 927988 查看本文章

12.将现有的目录初始化为一个仓库:在所需作为仓库的目录下执行命令:git init.此时会生成一个.git文件夹,里边包含一些初始化的仓库文件。此时仅仅是做了初始化,文件夹下边的项目文件还没有被跟踪。

13.克隆仓库:git clone url将远程仓库中的每一个文件的每一个版本都克隆下来。是一个完全副本。

14.跟踪文件:git add filename。如果在项目中新添加一个文件。但是在执行git status的时候可以看到,新增的文件是untrack未跟踪的,如果此时我们想要跟踪这个文件就会用到git add命令,使用这个命令将文件添加进暂存区。如果该命令后边跟的是目录名称,那么该目录下的所有文件都将被跟踪,添加进暂存区。

15.查看当前项目下的文件状态:git status -s。会显示更紧凑的文件状态信息A代表新添加到暂存区。??代表未跟踪的文件。左M代表文件修改了并放入了暂存区。右M代表文件修改了未放入暂存区。两个MM代表在暂存区和工作区都有修改。

16.忽略文件:在仓库根目录下新建一个文件-.gitignore文件,文件中包含了需要忽略文件的正则表达式。

17.git diff 命令比较的是修改过后的还没暂存的文件和上次存在于暂存区的文件

18.git diff --staged 比较的是暂存区中同一个文件当前版本和上一个版本的内容。

19.提交:git commit。会将暂存区的文件执行一次提交。提交后会使用你配置文件中的编辑器,让你填写修改说明。填写完成后,git丢弃其中的注释行(#)。这里提交就成功了。还有一个快捷添加修改说明的方法git commit -m "注释"。

20.跳过使用暂存区commit,命令git commit -a “注释”会将项目中所有被跟踪的文件提交。没有存入暂存区的文件也会被提交。

21.删除暂存区的文件及工作目录中的文件:git rm -f 文件名。如果想要只删除暂存区的文件,而不删除工作目录中的文件则使用:git rm --cached 文件名

22.将暂存区的文件更名:git mv file_from file_to 这个命令相当于git rm file_from;git add filr_to执行了这两条命令。

23.查看每次提交的详细信息:git log不加参数将根据时间轴显示提交commit的信息。-p -2显示最近两次提交类容的差异,--stat参数显示每次提交的统计信息,--petty=[oneline|full|fuller|short]这参数提交信息以不同的格式显示。最实用的参数还是format,如何用?git log --pretty=format:"%s"只显示提交说明,还有其他的如%s一样的参数这里就不列出了。

24.撤销操作:git commit --amend.如果你commit了一个,但是你发现提交说明写错了,此时将弹出提交说明编辑框。填写好说明重新提交,提交快照还是之前的快照。只是修改了提交说明而已(只是针对提交的快照没有发生变化),倘若快照发生变化,则此命令提交的快照将覆盖之前的一次提交。

25.查看本地有哪些远程仓库:git remote。git remote -v 显示别名和仓库地址。

26.添加一个远程仓库:git remote add shortname url

27.从远程仓库拉取:git fetch shortname|url.执行完毕之后,你就会拥有远程仓库中的所有分支的应用。此操作不会自动合并文件或修改你当前的工作

28.从远程仓库拉取:git pull shortname|url.如果一个本地分支跟踪一个远程分支,执行此命令之后,远程分支合并到当前分支。当克隆一个仓库时默认本地maser分支跟踪远程分支master。

29.推送到远程仓库:当你有所克隆服务器写的权限,并且在之前没有人push过,你就可以使用命令git push url|对应缩写名 分支

。如果在你push之前有人已经push了,你必须将他们的工作pull下来合并进你的工作再进行push。

30.查看远程仓库:git remote show url|缩写名 

31.远程仓库别名重命名:git remote rename oldname newname

32.移除远程仓库:git remote rm url|缩写名

33.列出标签:git tag

34.创建附注标签:git tag -a v1.0 -m "my first tag"。 -a参数表示附注标签,-m表示输入的提示信息。

35.创建轻量级标签:git tag v1.1.不需要任何参数

36.后期打标签:如果你提交commit了,但是忘记了打标签怎么办呢?git tag -a v1.3 校验和(或者部分校验和)。

37.共享标签:当你打了tag之后,你push到远程仓库中时tag并没有跟着push,所以你必须要手动push。just like this:git push url|shortname tagname。比如说push tag到github上,在这个项目下的release中就会有对应的tag。

38.检出标签:想要当前工作目录与仓库中某个版本保持一致,就可以在该版本中新建一个分支。git checkout -b version2 v1.3。



猜你喜欢

转载自blog.csdn.net/bigseacoming/article/details/80230422