1:git安装完成后,设置 name和email
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
2:创建版本库
$ mkdir learngit
$ cd learngit
$ pwd
初始化版本库 $ git init
将文件添加到版本库 $ git add readme.txt
将文件提交到仓库 $ git commit -m "wrote a readme file"
git log命令显示从最近到最远的提交日志
如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数
$ git log --pretty=oneline
3:版本回退
$ git reset --hard HEAD^ 回退到上一个版本
cat files 显示文件
指定回到未来的某一个版本,前提是命令行没有关,找到append GPL的commit id
$ git reset --hard "commit id"
你回退到了某个版本,关掉了电脑,第二天早上就后悔了,想恢复到新版本怎么办?
找不到新版本的commit id怎么办?
重返未来 $ git reflog
4:工作区和暂存区
工作区:就是电脑里面能够看到的目录,比如我的learngit文件夹就是一个工作区
版本库:工作区有一个.git文件,这个不算工作区,这个是版本库
暂存区:版本库里面存了一个stage暂存区,还有git自动为我们创建的第一个分支 master
以及指向master的一个指针HEAD。
用git diff HEAD -- readme.txt命令可以查看工作区和版本库里面最新版本的区别:
$ git diff HEAD -- readme.txt
5:撤销修改
$ git checkout --readme.txt git checkout -- file可以丢弃工作区的修改
这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
6: 删除文件
rm files 工作区的文件
git rm one.txt 删除版本库中的文件
git checkout --one.txt 其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,
都可以“一键还原”。
7:远程仓库
1:把本地仓库和远程仓库关联
$ git remote add origin ssh_ulr/https_url /origin就是远程仓库的名字,随便取
2:把所有内容推送到远程
$ git push -u origin master /把当前分支master推送到远程
第一次push加 -u / 以后直接用 $ git push origin master
8:从远程仓库克隆
$ git clone url
9:分支管理
创建分支切换到dev分支: $ git checkout -b dev
相当于 :git branch dev $ git checkout dev
查看当前分支: $ git branch
合并分支: $ git merge dev
删除分支: $ git branch -d <name>
10:分支管理策略
合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经
做过合并,而fast forward合并就看不出来曾经做过合并。
$ git merge --no-ff -m "merge with no-ff" dev
查看远程仓库名称 :git remote /或者用 git remote -v查看更详细的信息
将远程版本拉取下来: git pull
---------------------
作者:向北YO & 康师傅
来源:CSDN
原文:https://blog.csdn.net/qq_38526952/article/details/82759820
版权声明:本文为博主原创文章,转载请附上博文链接!