Git教程

Git教程

  • Git教程
    • 谈谈我对Git的了解
    • 注册Git
    • Git的推送基本了解
      • Git有三个工作目录
      • 如何理解
      • 还是不懂
    • 在Git主页上创建项目
    • 关联代码
      • 关联第一种方式
      • 关联第二种方式
    • Git命令的使用
    • 其他说明
      • 两种连接方式
      • 可视化操作
    • 谢谢


谈谈我对Git的了解

之前一开始接触Git的时候总觉得Git难以理解,一直无法很好的记住对应的命令,当然现在命令可以使用可视化界面,例如TortoiseGit。

其实对于版本控制,应该很多人都是了解的,Git能够对我们项目的代码进行托管,我们能够把代码提交上去,能够记录我们对项目代码的修改记录,如果发现错误,也可以通过回滚(就恢复之前的代码状况)。当然,Git还能够实现多分支开发,对于多个开发人员来说,多分支开发能够让每个人各自开发而互补干扰。

下面我就根据我自己的理解,谈谈对Git的使用,尽量通俗易懂得描述出来。


注册Git

前往Git主页注册


Git的推送基本了解

需要了解推送的大概原理,才不会乱,要能够理解三个工作目录。

Git有三个工作目录:

  • 本地项目
  • 本地仓库
  • 远程仓库

如何理解:

  • 本地项目:就是你自己编辑的项目文件,你所操作的都是本地项目,如导入到IDE的项目文件;
  • 本地仓库其实是初始化在本地的仓库,你可以理解为是一个看不见的仓库,这个仓库记录了你的提交、修改记录;
  • 远程仓库和本地仓库是一样的,只是这个仓库存放在Git提供的服务器上;

还是不懂?

举个例子:创建了一个Java的hello world项目,项目src路径下有TestMain.java等文件

  • 本地项目:包括该Java项目的src,也就是TestMain.java等项目文件,你所增删改都是对本地项目的文件进行操作
  • 本地仓库:本地仓库构建在你的电脑hello world项目文件下,你看不到,会记录你的操作;
  • 远程仓库:就是将本地仓库里面的一些提交记录以及代码提交到了Git的服务器,远程仓库会保存你的所有代码以及提交记录。
  • 为什么要有本地仓库:因为已经有了远程仓库,貌似可以不需要本地仓库,但本地仓库能够在你没有网络的时候,也能够进行提交、保存,当你有网络的时候,一并提交;而且,本地仓库起到一个暂存的作用。

在Git主页上创建项目

  1. 登陆Git,在右上角的+号点击“New respository”
    Git教程_第1张图片

  2. 填上项目名称Repository name,以及项目描述Description(可选),项目是公开Public还是私有Private,Private私有项目需要收费,选择Public即可。

  3. Initialize this repository with a README该选项可选,README表示当别人查看你的项目时候,能够通过README文件了解到你的项目基本情况。
  4. add .gitignore表示一个项目有部分文件不需要上传,在该.gitignore文件中标明,则可在上传时候进行忽略。可先不选择。
  5. create respository即可创建项目

关联代码

之前不懂如何将本地的代码和Git上代码进行关联,我们此时已经在Git上创建了一个项目,但我们本地没有对应的项目啊!怎么解决?或者说接下来该怎么办?
接下来是关联的两种方式:

关联第一种方式:

  1. Git上创建的项目会提供一个URL:例如
    https://github.com/USER_NAME/REPO_NAME.git
    USER_NAME表示你的用户名,REPO_NAME表示项目名

  2. 通过使用git clone克隆到本地:

$ git init
$ git clone https://github.com/USER_NAME/REPO_NAME.git

此时我们把Git上的项目克隆到了本地,clone下来是一个空的项目,我们可以对其进行修改、添加,然后commit和push,就能提交到Git上对应的项目了。该关联方式不需要执行初始化和关联语句:git initgit remote add origin 语句,因为clone下来之后已经将本地项目和远程仓库关联上了。
整一个完整的执行过程如下:

$ git clone https://github.com/USER_NAME/REPO_NAME.git
# ...导入IDE,进行修改
#将所有文件加入版本控制
$ git add . 
#创建新分支,如果不需要则跳过该语句,默认分支master
$ git checkout -b "new_brance" 
#提交到本地仓库,提交信息为your_message
$ git commit -m "your_message" 
#提交到远程仓库的master分支,如果前面执行了创建新分支,则这里的master修改为新分支的名字new_brance。
$ git push origin master 

关联第二种方式:

如果你的项目文件已经存在,在创建完Git上项目之后,想把本地的项目提交到Git上,则需要使用关联语句git remote add origin 语句。第二种关联方式不需要执行git clone 语句。

$ git remote add origin https://github.com/USER_NAME/REPO_NAME.git

整一个完整的执行过程如下:

# 在当前文件夹下初始化本地仓库
$ git init
# 将所有文件加入版本控制
$ git add . 
# 创建新分支,如果不需要则跳过该语句,默认分支master
$ git checkout -b "new_brance" 
# 提交到本地仓库,提交信息为your_message
$ git commit -m "your_message" 
# 关联Git上仓库
$ git remote add origin https://github.com/USER_NAME/REPO_NAME.git
# 提交到远程仓库的master分支,如果前面执行了创建新分支,则这里的master修改为新分支的名字new_brance。
$ git push origin master 

可以仔细对比以上两个完整的执行过程。


Git命令的使用:

对于git的其他命令,如分支检出、合并、冲突解决在本文就不讲解了,其他命令的使用可以查看: Git简单教程


其他说明

两种连接方式

Git对于一个项目文件提供了一个Https的连接,如:https://github.com/USER_NAME/REPO_NAME.git ,此外还有另外一种连接方式:ssh连接,[email protected]:USER_NAME/REPO_NAME.git

  • https连接:每次push需要输入用户名和密码
  • ssh连接:能够记住账户和密码,不需要每次都输入,连接方式基于ssh,由于ssh连接可能遭受中间人攻击,所以需要生成自己的Deploy keys,并在项目的Setting - Deploy keys中填入你的key。

如果不适用ssh的连接方式,即可不需要生成key,需要了解的话可以google查阅。

可视化操作

对于Git的可视化操作,如使用TortoiseGit等软件,其中对应的道理如同命令行操作,关联方式也一样。


谢谢~

你可能感兴趣的:(Linux)