笔记依据黑马视频教学整顿

Git是一款源代码管理工具,咱们写的代码须要应用Git进行治理,人工的解决不同版本,做相应备份会很麻烦

历史:Git是linux之父当年为了保护iinux---linus之前也是手动保护,所以linus本人写了一个版本治理的工具(Git)

其余雷同工具:svn,vss,vcs...

初始化Git仓库:

git init

git对咱们我的项目代码进行备份的文件

设置用户信息

每一次备份都会把以后备份者的信息储存起来

$ git config --global user.name "FredLiu"$ git config --global user.email "fredliu12@163.com"

把代码存储失去git仓库中

//把代码放到仓储门口$ git add ./index.md //所指定的文件放到暂存区$ git add ./   //把所有的批改的文件增加到暂存区$ git commit -m "这是一个空的文件夹!" //把暂存区的代码放到版本库
git commit --all -m "一些阐明"  //一次性把批改的代码提交到版本库//--all 示意把所有批改的文件提交到版本库
git commit状况下:用ctrl+z ,而后:q退出即可,或者:q!强制退出

查看以后的状态

sstatus能够用来查看以后代码有没有被放到仓储中去:

$ git status

红色:示意文件批改了然而还没放到暂存区中

绿色:示意文件放到了暂存区中然而还没有进版本库

查看日志

git log查看历史提交的日志

git log --oneline查看简洁版的日志

版本回退

//示意回退到上一次代码提交时的状态$ git reset --hard Head~0//示意回退到上上次代码提交时的状态$ git reset --hard Head~1//通过版本号准确的回退到某一次提交的状态$ git reset --hard [版本号]]//能够看到每一次切换版本的记录:能够看到所有提交的版本$ git reflog

分支

master是主分支,能够创立自定义多个分支

创立分支

git branch dev创立了一个dev分支,在刚创立时dev分支里的货色里的货色是一样的

切换分支

git checkout dev切换到指定的分支,这里的切换到名为dev的分支

git branch能够查看以后有哪些分支

合并分支

git merge dev合并分支内容,把以后分支与指定分支(dev)进行合并

以后分支指的是git branch命令输入的后面有*号的分支

合并分支如果有抵触,须要手动去解决,解决后还要在提交一次

Github

不是git,只是一个网站,只不过这个网站提供了容许他人通过git上传代码的性能

提交代码到github(当作git服务器来用)

git push [地址] master:把以后分支的内容上传到近程的master分支上

实例:

$ git push https://github.com/FredLiuHHH/-.git master 
git pull [地址] master //会把近程分支的数据失去(留神本地要初始化一个仓储)
git clone [地址]//会失去近程仓储雷同的数据,如果屡次执行会笼罩本地内容
个别用pull不必clone

SSH形式上传代码

公钥 私钥两者之间有关联,为什么要用ssh形式上传呢,因为有时候他人要把代码上传到咱们的仓储中,须要咱们自己的明码账号,然而应用ssh就能够不必

生成公钥,私钥:

$ ssh-keygen -t rsa -C "2219022435@qq.com"

而后找到用户文件夹.ssh目录下的这两个文件

把id_rad.pub用vscode关上,复制后关上github的设置

增加后就能够复制仓储的ssh应用了

$ git push git@github.com:FredLiuHHH/test1.git master

留神

  1. 在push和pull操作时,先pull,再push
  2. 每次咱们都要写一条`git@github.com:FredLiuHHH/test1.git

`这么长的地址很麻烦,能够采纳这种办法:

//相当于申明了一个变量origin$ git remote add origin git@github.com:FredLiuHHH/test1.git

前面就能够间接应用origin来代替地址了

  1. 当咱们在push时,加上-u参数,那么在下一次push时候,咱们只用写上git push/git pull就能够应用,简化了代码的书写
$ git push origin -u master

前面只须要用:

$ git push
如果加u用不了,能够先不加u来push/pull操作一次,而后加上-u就能够了