git使用

git使用的总结

git是一个分布式的版本控制工具,不必须在中央服务器集中保存代码

git的一些基本概念
工作目录树(working tree)
将一个文件夹初始化成工作目录树,执行 git init之后,你在这个目录里对文件和对子文件夹的任何操作,到被记录到这个文件夹的.git目录里

仓库(repository)
用于保存所有提交的修改,在.git文件夹里。每次提交会被设置一个提交id,用于标识这次提交

暂存区(index)
用于保存需要提交的修改,如果没有暂存区,你需要改完所有的东西后一次提交,或者改一点,提交一点,这都不好。有了暂存区,你能精确的控制要提交哪些内容,就是放入暂存区的内容,然后一次提交暂存区的内容到仓库。暂存区内容也在.git文件夹里

HEAD指针
指向仓库中最后提交的内容,每次提交后,会指向最新的提交内容。

远程仓库(remote)
一个保存仓库的远程服务器,比如github,gitee等

除了git init将当前文件夹设置成工作目录树,也可以使用 git clone,将将远程仓库初始化到当前的文件夹的一个子文件夹中,这个文件夹名称一般是项目名称
复制的内容有所有的工作目录树内容,还包括历史操作记录,此时暂存区是空白的,工作目录树的状态也是没有修改


通过git config 设置需要的配置项,最需要设置的时 user.name 和 user.email,用于区别提交人
git config --global user.name xxxx
git config --global user.email xxxx
通过git config -l 列出所有的配置项


其他的命令必须在工作目录树的根目录操作,比如:

加入暂存区
git add .
将工作目录树的全部变化放入,也可以指定文件放入

提交仓库
git commit -m "提交说明"
提交时应该写上此次提交的说明,方便以后查看

查看状态
git status
用于查看当前是什么状态,是只修改了工作目录,还是提交到暂存区了,还是提交到仓库,还是提交到远程仓库

查看提交日志
git log

查看操作日志
git reflog
这里还包括回退的一些操作

回退,通过撤销层次来区分
1.git reset --soft 提交id
撤销仓库里的提交到历史上对应的提交,用提交id指示,暂存区和工作目录树内容不变

2.git reset --mix 提交id
撤销仓库里的提交到历史上对应的提交,用提交id指示,暂存区被清空,工作目录树内容不变
也可以不写--mix,这个是默认的

3.git reset --hard 提交id
撤销仓库里的提交到历史上对应的提交,用提交id指示,暂存区被清空,工作目录树内容变为提交id对应的内容

分支
分支用于多个开发流程,比如项目在不同的地区需要实现的功能不一样,就可以为每个地区的项目建立分支
或者临时有个任务需要加入,有不能影响当前开发,就可以建立分支去开发,然后合并到主分支上
git之前的主分支默认叫master,后来改成叫main

1.创建分支
git branch 分支名

2.切换分支
git checkout 分支名

3.合并分支
git merge 分支名
将分支名对应的分支合并到当前分支

4.显示当前分支
git branch

标签
用于对某次提交起个别名,好记忆
1.创建标签
git tag xxxx 提交id
在提交id的提交上打上标签,如果省略提交id,则在最新的提交上打上标签

2.删除标签
git tag -d xxxx

3.显示当前的标签
git tag

4.给标签写注释
git tag -a xxxx -m "blablabla..."

远程仓库
1.提交远程
git push 服务器名

2.设置远程服务器
git remote add xxx url

3.拉取远程代码
git pull

posted on 2016-09-21 10:36  litandy  阅读(167)  评论(0编辑  收藏  举报

导航