笔记根据黑马视频教学整理

Git是一款源代码管理工具,我们写的代码需要使用Git进行管理,人工的处理不同版本,做相应备份会很麻烦

image.png

历史: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仓库中

1.jpg

//把代码放到仓储门口
$ 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

分支

image.png

master是主分支,可以创建自定义多个分支

创建分支

git branch dev创建了一个dev分支,在刚创建时dev分支里的东西里的东西是一样的

切换分支

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

git branch可以查看当前有哪些分支

合并分支

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

当前分支指的是git branch命令输出的前面有*号的分支

合并分支如果有冲突,需要手动去处理,处理后还要在提交一次
image.png

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目录下的这两个文件
image.png

把id_rad.pub用vscode打开,复制后打开github的设置
image.png

添加后就可以复制仓储的ssh使用了

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

注意

image.png

  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就可以了

FredLiu
182 声望5 粉丝

喜欢画画