how to use git
Git 是一个开源的分布式版本控制系统,与 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

基本概念
工作区
在电脑里能看到的目录
本地版本库
工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库
暂存库
本地版本库里存了很多东西,其中最重要的就是称为 stage(或者叫index)的暂存区,还有 Git 为我们自动创建的第一个分支 main,以及指向 main 的一个指针叫 HEAD。
远程版本库
一般指的是 Git 服务器上所对应的仓库,常用的github仓库就是一个远程版本库
常用命令
git clone
从服务器中拉取代码
git branch
创建、重命名、查看、删除项目分支,通过 Git 做项目开发时,一般都是在开发分支中进行,开发完成后合并分支到主干。
git branch 不带参数的branch命令可以查看当前项目分支列表
git branch -m branch/0.0.1 创建一个名为branch/0.0.1的开支
git branch -d branch/0.0.1 删除一个名为branch/0.0.1的开支
git checkout
切换分支
git checkout branch/0.0.1 切换到branch/0.0.1的开支
git status
查看文件变动状态
git add
添加文件变动到暂存区
git add README.md 通过指定文件名 README.md 可以将该文件添加到暂存区;
添加所有文件可用 git add .
git commit
提交文件变动到版本库 git commit -m ‘这里写提交原因’
git push
将本地代码改动推送到服务器
git push origin branch/0.0.1  origin 指代的是当前的git服务器地址,这行命令的意思是把 branch/0.0.1 分支推送到服务器
git pull
将服务器最新代码拉取到本地
git pull origin branch/0.0.1
如果线上代码做了变动,而你本地的代码也有变动,拉取的代码就有可能会跟你本地的改动冲突,一般情况下 Git 会自动处理这种冲突合并,但如果改动的是同一行,那就需要手动来合并代码,编辑文件,保存最新的改动,再通过 git add .和 git commit -m 'xxx' 来提交合并。
git fetch 是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。 而 git pull 则是将远程主机的最新内容拉下来后直接合并,即: git pull = git fetch + git merge ,这样可能会产生冲突,需要手动解决。
git log
查看版本提交记录,提交记录可能会非常多,按 J 键往下翻,按 K 键往上翻,按 Q 键退出查看
git tag
为项目标记里程碑。当我们完成某个功能需求准备发布上线时,应该将此次完整的项目代码做个标记,并将这个标记好的版本发布到线上,这里我们以 publish/0.0.1 为标记名并发布,当看到命令行返回如下内容则表示发布成功了
git tag publish/0.0.1
git push origin publish/0.0.1
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/gafish/gafish.github.com.git
 * [new tag]     publish/0.0.1 -> publish/0.0.1