Git

248 阅读4分钟
  • Git

Git的介绍:

什么是git?

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git是为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。

Git使用的基本流程:

Git的安装

在浏览器中搜索git进入官网直接download安装,安装时一直next直到finish。验证是否安装成功,在窗口单击右键若出现Git Bash here即为安装成功。

初始化Git仓储/仓库

  • 创建一个新的文件夹,在该文件夹的基础上右键打开Git Bash here。
  • 输入命令git init,在当前文件夹下出现一个新的.git文件,该文件对我们的项目代码进行备份。
  • 命令:

    创建仓库:git init

配置用户信息

  • 使用者在git中设置用户的个人信息,每一次备份都会把用户的信息存储起来。
  • 命令:

    配置用户名:git config --global user.name "xiaoming"
    配置邮箱:git config --global user.email "xm@sina.com"

把代码存储到.git仓库中

  • 1.把代码放到仓储的门口

    git add ./readme.md 所指定的文件放到大门口
    git add ./ 把所有的修改的文件添加到大门口

  • 2.查看当前的状态

    可以用来查看当前代码有没有被放到仓库中,若出现红色字体提示则重新重复此过程,相反则存放成功。
    git status

  • 3.把仓库门口的代码放到里面的房间中去

    git commit -m "这是对这次添加的东西的说明"

  • 4.查看日志

    git log 查看历史提交的日志
    git log --oneline 可以看到简洁版的日志

  • 5.回退到指定的版本

git reset --hard Head~0 表示回退到上一次代码提交时的状态
git reset --hard Head~1 表示回退到上上次代码提交时的状态
git reset --hard 版本id 可以通过版本号精确的回退到某一次提交时的状态
git reflog 可以看到每一次切换版本的记录:可以看到所有提交的版本id号

git中的忽略文件

  • .gitignore,在这个文件中可以设置需要被忽略的文件或者目录。
  • 被忽略的文件不会被从工作区提交仓库里去.
  • 在.gitignore中可以书写要被忽略的文件的路径,以/开头,一行写一个路径,这些路径所对应的文件都会被忽略, 不会被提交到仓储中

写法:

/.idea 会忽略.idea文件
/js 会忽略js目录里的所有文件
/js/*.js 会忽略js目录下所有js文件

分支:

  • 默认是有一个主分支master

创建分支

  • 创建了一个dev分支
  • 在刚创建时dev分支里的东西和master分支里的东西是一样的

    git branch dev

切换分支

  • 切换到指定的分支,这里的切换到名为dev的分支git branch 可以查看当前有哪些分支

    git checkoudet v

合并分支

  • 合并分支内容,把当前分支与指定的分支(dev),进行合并
  • 当前分支指的是git branch命令输出的前面有*号的分支
  • 合并时如果有冲突,需要手动去处理,处理后还需要再提交一次.

    git merge dev

Github

  • Github(github.com)是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管。

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

1.注册github账号,新建一个远程仓库。
2.在当前工作区进行开发,然后把当前分支的内容上传到远程的master分支上

例如:

  • git clone [地址]
    会得到远程仓储相同的数据,如果多次执行会覆盖本地内容。

ssh方式上传代码

  • 公钥 私钥,两者之间是有关联的。
  • 生成公钥,和私钥

ssh-keygen -t rsa -C "xiaoming@sina.com"

push和pull操作

  • 先pull将远程master分支的版本刷新,继续进行开发,然后再push
  • 当我们在push时,加上-u参数,那么在下一次push时,我们只需要写上git push就能上传我们的代码。(加上-u之后,git会把当前分支与远程的指定的分支进行关联。git push origin master -u)。