git知识要点学习

几个基本概念

1,创建本地版本库 git init
2,git add filename 文件添加到本地版本库
3,git commit -m "描述信息" 将add的那些文件给提交到本地的版本库
4,   git status 当前版本库的状态
5,git diff filename 查看文件的内容的差异
6,git log 版本库的提交记录 git log --pretty=oneline 一次显示一行
7,在git中 HEAD表示当前版本 ,HEAD^上一版本 HEAD^^以此类推 HEAD~100之前100个版本
8,git reflog 查看命令历史

工作区和暂存区

工作区就是你本地的项目目录
.git是版本库,版本库中有stage(或者是index)称为暂存区
git add 实际上是把工作区的文件添加到暂存区
git commit是吧暂存区的内容提交到当前分支

untraced file

就是存在于工作区,但是不在版本库中也没有add到暂存区的文件

版本之间的切换

git checkout -- file 丢弃工作区的修改,使得文件与版本库中一致。即便是工作区里面的文件被删除了,你也可以从版本库中回复过来
git reset HEAD file可以把暂存区的修改撤销掉,撤销当前没有commit的add操作

git reset --hard HEAD^                   commit之后。回退到上一版本
git  reset --hard commit_id             根据这个id来找到那一时刻的版本  ,只要id有了你就可以任意的回退版本

  • git log可以查看提交历史,以便确定要回退到历史的哪个版本。

  • 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

版本的切换实际上就是HEAD指针的改变而已,速度非常快

删除文件

git rm file 这里是把删除提交到暂存区,如果没有commit,就可以用git reset HEAD file  撤销。

如果已经commit就没办法了,只能回滚到上一版本去找到这个文件了

创建远程仓库

介绍使用github的方法,github是git托管服务器

创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看 这个目录下有没有idrsa和idrsa.pub这两个文件,如果已经有了,可 直接跳到下一步。如果没有,ssh-keygen -t rsa -C "youremail@example.com"
登陆github。点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

添加远程库

前提是你已经有了本地库 git remote add origin git@github.com:michaelliao/learngit.git
git push origin master 把本地库推送到远程库,第一次推送要加上-u

从远程库克隆

git clone git@github.com:michaelliao/gitskills.git

git 分支

我们看到的默认分支都叫master ,实际上你可以使用其他的分支,这样你原来的master就得到保护,最后确保先分支正确时将两个分支合并就可以了。。

这里需要理解的是指针,每一个分支都有一个指针,然后HEAD指针指向当前的分支,你创建一个新的分支之后呢,任意修改他,确保正确将master merge过来,即便处了重大事故,就直接切换回master 就好了,很方便。删除分支就是将相关的那个指针删掉了。

创建分支

查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

创建+切换分支:git checkout -b name

合并某分支到当前分支:git merge name

删除分支:git branch -d name>

忽略文件

.gitignore中加入忽略的文件名 例如.class,这些就不会出现在untraced file 文件列表中烦你了了

原文地址:https://www.cnblogs.com/Coder-Pig/p/6159541.html