笔记依据黑马视频教学整顿
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
留神
- 在push和pull操作时,先pull,再push
- 每次咱们都要写一条`git@github.com:FredLiuHHH/test1.git
`这么长的地址很麻烦,能够采纳这种办法:
//相当于申明了一个变量origin$ git remote add origin git@github.com:FredLiuHHH/test1.git
前面就能够间接应用origin来代替地址了
- 当咱们在push时,加上-u参数,那么在下一次push时候,咱们只用写上
git push
/git pull
就能够应用,简化了代码的书写
$ git push origin -u master
前面只须要用:
$ git push
如果加u用不了,能够先不加u来push/pull操作一次,而后加上-u就能够了