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”

  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 <SERVER> 语句,因为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 <SERVER> 语句。第二种关联方式不需要执行git clone <SERVER>语句。

$ 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连接,git@github.com:USER_NAME/REPO_NAME.git

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

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

可视化操作

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


谢谢~

### Git 入门教程与使用指南 Git 是一个分布式版本控制系统,广泛用于软件开发中,帮助开发者管理代码的变更历史、协作开发以及维护多个版本的代码库。以下是 Git 的基本使用和操作指南,适合初学者快速上手。 #### 1. Git 的安装与配置 在使用 Git 之前,需要先在本地环境中安装 Git。安装完成后,建议配置全局用户名和邮箱,以便在提交代码时记录作者信息。 ```bash # 配置全局用户名 git config --global user.name "YourName" # 配置全局邮箱 git config --global user.email "your.email@example.com" ``` 这些信息会记录在每次提交中,确保团队协作时可以追溯代码的来源[^1]。 #### 2. 初始化本地仓库 创建一个新的 Git 仓库可以通过 `git init` 命令完成。该命令会在当前目录下生成一个 `.git` 子目录,用于存储版本控制数据。 ```bash # 初始化一个新的 Git 仓库 git init ``` #### 3. 克隆远程仓库 如果已有远程仓库(如 GitHub、GitLab 或公司内部 Git 服务器),可以使用 `git clone` 命令将远程仓库复制到本地。 ```bash # 克隆远程仓库到本地 git clone https://git.code.tencent.com/git-class-001/git-test.git ``` 克隆完成后,会在本地生成一个与远程仓库完全相同的副本,开发者可以在本地进行修改和提交[^2]。 #### 4. 查看仓库状态与提交历史 在进行提交或修改之前,建议使用 `git status` 查看当前分支的状态,了解哪些文件已被修改但尚未提交。 ```bash # 查看当前分支状态 git status ``` 如果需要查看提交历史,可以使用 `git log` 命令: ```bash # 查看提交历史 git log ``` 在查看提交历史时,可以使用键盘上的方向键滚动,按 `Q` 键退出查看模式。 #### 5. 添加与提交更改 在修改文件后,需要将更改添加到暂存区,然后进行提交。 ```bash # 添加所有修改到暂存区 git add . # 提交更改并添加提交信息 git commit -m "描述本次提交的内容" ``` 提交信息应简明扼要,说明本次提交的目的或修改的内容,便于后续查看和理解。 #### 6. 推送更改到远程仓库 提交完成后,可以将本地的更改推送到远程仓库,以便其他开发者同步更新。 ```bash # 推送本地提交到远程仓库 git push origin main ``` 其中 `origin` 是远程仓库的默认名称,`main` 是默认的主分支名称。如果使用其他分支,需替换为对应的分支名。 #### 7. 分支管理 Git 支持创建多个分支,便于并行开发和版本管理。常用的分支操作包括创建、切换、合并和删除分支。 ```bash # 创建新分支 git branch feature-branch # 切换到指定分支 git checkout feature-branch # 创建并切换到新分支(简化命令) git checkout -b feature-branch # 查看所有分支 git branch # 合并指定分支到当前分支 git merge feature-branch # 删除分支 git branch -d feature-branch ``` 分支管理是 Git 的核心功能之一,合理使用分支可以有效组织开发流程,避免主分支的不稳定状态[^3]。 #### 8. 使用 Git Rebase 整理提交历史 除了 `git merge`,还可以使用 `git rebase` 来整合分支的提交历史。`git rebase` 可以将一个分支的更改“移植”到另一个分支上,使提交历史更加线性、清晰。 ```bash # 切换到要 rebase 的分支 git checkout feature-branch # 将 feature-branch 的提交基于 main 分支进行 rebase git rebase main ``` 在 rebase 过程中可能会遇到冲突,需要手动解决冲突后继续 rebase 操作。 #### 9. 解决冲突 当多人同时修改了同一个文件的相同部分时,Git 会提示冲突。冲突文件中会标记冲突区域,开发者需要手动编辑文件,选择保留的代码。 ```bash # 冲突解决后标记为已解决 git add <filename> # 继续 rebase 或 merge 操作 git rebase --continue ``` #### 10. 常用命令总结 | 操作 | 命令示例 | |--------------------------|---------------------------------------| | 初始化仓库 | `git init` | | 克隆远程仓库 | `git clone <仓库地址>` | | 查看状态 | `git status` | | 查看提交历史 | `git log` | | 添加修改到暂存区 | `git add .` | | 提交更改 | `git commit -m "提交信息"` | | 推送更改 | `git push origin <分支名>` | | 创建分支 | `git branch <分支名>` | | 切换分支 | `git checkout <分支名>` | | 创建并切换分支 | `git checkout -b <分支名>` | | 合并分支 | `git merge <分支名>` | | 删除分支 | `git branch -d <分支名>` | | Rebase 操作 | `git rebase <目标分支>` | | 解决冲突后继续 Rebase | `git rebase --continue` | --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值