github学习笔记

创建一个git库

1.进入目录clone
cd dir
git clone https://github.com/que01/github

2.直接clone到目录
git clone https://github.com/que01/github dir

初始化一个git库

git init

初始化空repo后push前需要设置云端url

git remote set-url origin ssh://newhost.com/usr/local/gitroot/myproject.git`

或者更改.gitconfig

[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = ssh://xxxxxxxxxxxx/xxxxxxxx.git

本地库修改提交

文件修改直接修改即可

#快照(暂存区修改)#

git add             //添加文件到缓存区
git add .             //添加所有改变文件,ps:任何未改变文件都不会被包含
git add new.html     //添加nesw.html到缓存

#状态#

git status            //详细状态 
git status -s        //简单状态

#改动#

git diff            //尚未add的改动
git diff --cached     //查看已缓存的改动(暂存区同最近一次提交对比)
git diff HEAD       //工作区同最近一次提交对比(仅仅文件改动对比,工作区新加文件不会进行对比)

#提交#

git commit -a         //自动将在提交前将已记录、修改的文件放入缓存区,跳过add修改文件,但新文件仍然需要add
git commit -am 'the changes in this'    //修改的备注

云端建立分支

git remote add origin https://github.com/user_name/repository_name.git

#”时空穿梭”#
这里用到两个命令: git reset&git reflog
git reset –head + 哈希散列数值(前几位即可)可以进行穿梭 —> 这里可以向前也可以向后,但是向前以后无法在git log看到以前的哈希散列值

这时候就轮到git relog出场了,他可以记录HEAD位置移动,这里可以看到移动前后的哈希值

所以向前之后找不到向后的散列值可以通过它查询到向后的散列值.拿到散列值以后有两个方式来进行向后

git reset --hard 哈希值
git reset --hard HEAD@{n}  //这里的n代表向前几次