一. 配置本地用户和邮箱
$ git config --global user.nane "github用户名"
$ git config --golbal user.email "github邮箱"
注意: git config 使用 –global 参数,代表你这台电脑中所有git仓库都会使用这个配置,配置完成后,windows 用 户 user 下有一个 gitconfig的配置文件,可以查看配置好的用户名和邮箱.
二.创建git版本库
(1) . 在电脑上新建一个目标工程文件
(2) . 在git命令进入目标文件路径
$ git init // 初始化一个git仓库
注意: 完成后自己的电脑就成了自己的服务器(可以在git文件夹中看到.git隐藏文件夹)
(4).在当前的git目录下创建一个readme.txt 文件
$ git status //查看版本库的状态,检查版本库的增加查改状态, 当发现出现一个红色字体的readme.txt,意思是该文件没有被添加到缓存区或者分区里
(5).$ git add readme.txt //将文件加入缓存区,注意可以多次使
用,添加多个文件
(6).$ git commit -m "creat readme file" //将文件添加到服务器
注意: -m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录
里方便地找到改动记录。
三 . 修改文件
注意: 修改文件(请不要使用windows自带记事本编辑文件,他保存utf-8编码文件有坑),推荐使用 notepad++
$ git status //查看状态,它会提示警告,你当前文件发生了变化
$ git diff readme.txt //查看发生改变的内容
注意: 再次将修改的文件提交到分支,重复下面的两个步骤
$ git add readme.txt
$ git commit -m 'different readme' // 提交文件保证git
status 是干净的
四 . 回退
$ git reset --hard HEAD^ //回退到上一个版本
$ git reset --hard commit_id //Git允许我们在版本的历史之间穿梭
$ git log //可以查看提交历史,以便确定要回退到哪个版本
$ git log --pretty=oneline //查看日志 --pretty=oneline
pretty最好 最好一行将日志显示
$ git reflog //查看命令历史,以便确认要回到未来的那个版本
五 . 删除
通常直接在文件管理器中把没用的文件删了,或者用 $ rm test.txt 命令删了
(1). 确实要从版本库中删除该文件
$ git rm //删掉
$ git commit -m 'rm ' // 保证git status 是干净的
(2). 如果是误删: $ git checkout -- file //一键恢复最新版本状态
六. 撤销修改
1.只是在当前文件修改了内容,并没有添加到缓存区:
$ git checkout -- file //把readme.txt文件在工作区的修改全部撤销
2.修改了内容,并且通过 $ git add 放到暂存区了:
$ git reset HEAD file //可以把暂存区的修改撤销掉(unstage),重新放回工作区,
$ git checkout -- file //彻底撤回修改.
$ git reset --hard commit_id //不过前提是没有推送到远程库。
七 . 添加远程库
好处: 把本地的git仓库,同步到GitHub的git仓库,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作.
(1). 在GitHub上新建一个 learn 仓库
(2). $ git remote add origin [email protected]:ABCDEFboy/learn.git
注意: ABCDEFboy 是自己GitHub的账号名, learn 是GitHub新建的仓库添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
(3). 关联后, 使用命令 : $ git push -u origin master //第一次推送master分支的所有内容
(4). 此后,每次本地提交后,只要有必要,就可以使用命令 $ git push origin master 推送最新修改
八. 远程克隆
注意: 要克隆一个仓库,首先必须知道仓库的地址
$ git clone [email protected]:ABCDEFboy/gitskills.git // 这个地址是我个人的地址
九. 创建分支
$ git branch //查看分支
$ git branch // 创建分支
$ git checkout // 切换分支
$ git checkout -b //创建+切换分支
$ git merge //合并某分支到当前分支
$ git branch -d //删除分支
$ git branch |grep |xargs git branch -d // 批量删除分支
注意: 批量删除分支,只能删除前缀名相同的分支. 例如, 现在有 dev ; dev-01 ;dev-02 这三个分支,就可以通 过 $ git branch | grep dev | xargs git branch -d ,把这三个分支全部删除. 这是一道面试题,同时也是一个坑,可以多留个心眼
未完待续….