笔记根据黑马视频教学整理
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就可以了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。