很早之前学的git都忘了,现在实习用到,再记录一下

git中的概念

当使用 Git 管理代码时,有一些重要的概念需要理解。下面是一些常见的 Git 概念的解释:

  1. 仓库(Repository):也称为 Repo。是你的项目的版本控制存储库,包含了项目的所有文件和历史记录。
  2. 提交(Commit):也称为 Revision。是对项目的一次更改的快照。每次提交都包含了更改的内容、作者、提交时间等信息。
  3. 分支(Branch):是基于主线(通常是 master 分支)的一个独立副本,用于开发新功能或解决问题,同时不影响主线。分支可以合并到其他分支或主线。
  4. 主线(Master/Main Branch):通常是 master 或 main 分支,是项目的主要分支,保存了稳定的代码。
  5. 远程仓库(Remote Repository):位于网络上的 Git 仓库副本,可以用来共享和协作。常见的远程仓库服务有 GitHub、GitLab 和 Bitbucket。
  6. 拉取(Pull):从远程仓库获取最新更改并合并到本地分支,通常用于同步本地仓库和远程仓库。
  7. 推送(Push):将本地分支的更改推送到远程仓库,以便共享你的更改。
  8. 合并(Merge):将一个分支的更改合并到另一个分支,可以在本地合并,然后再推送到远程仓库。
  9. 冲突(Conflict):当两个分支在相同的位置有不同的更改时,会发生冲突。需要手动解决冲突,然后提交解决后的代码。
  10. 标签(Tag):用于标记代码的特定版本,通常在发布稳定版本时使用,以便稍后可以轻松地找到特定版本。
  11. 暂存区(Staging Area):也称为 Index。在提交前,你可以将需要提交的更改添加到暂存区,然后一次性提交所有暂存的更改。
  12. 克隆(Clone):从远程仓库创建一个本地副本,使你能够在自己的计算机上开发和修改项目。
  13. 拉取请求(Pull Request):在协作开发中,开发者可以创建一个拉取请求,通知其他人他们的更改已经准备好合并到主线中。

一些基本的 Git 使用步骤和常见的命令

  1. 初始化一个新的 Git 仓库:
    打开终端,进入你要管理的项目文件夹,然后运行以下命令来初始化一个新的 Git 仓库:
git init
  1. 添加文件到暂存区:
    使用以下命令将文件添加到 Git 的暂存区:
git add <file>

file 是你要添加的文件的名称,可以是单个文件或多个文件。

  1. 提交更改:
    一旦将文件添加到暂存区,你可以使用以下命令来提交更改到版本历史:
git commit -m "Your commit message here"

替换 “Your commit message here” 为你的提交信息,描述这次提交的内容。

  1. 查看仓库状态
    使用以下命令可以查看当前仓库的状态,了解哪些文件已修改、暂存或未跟踪:
git status
  1. 查看提交历史:
    使用以下命令可以查看提交的历史记录
git log
  1. 创建分支:
    你可以使用以下命令创建一个新的分支:
git branch <branch_name>
  1. 切换分支:
    使用以下命令可以切换到已存在的分支:
git checkout <branch_name>
  1. 合并分支:
    当你想将一个分支的更改合并到另一个分支时,可以使用以下命令:
git checkout <target_branch>
git merge <source_branch>
  1. 拉取远程仓库的更改:
    如果你在一个共享项目中工作,你可能需要拉取远程仓库的最新更改。可以使用以下命令拉取并合并远程仓库的更改:
git pull origin <branch_name>
  1. 推送更改到远程仓库:
    如果你想将你的本地更改推送到远程仓库,可以使用以下命令:
git push origin <branch_name>

为什么要在Linux环境下做代码开发

  1. 开源文化和工具支持:Linux 本身是开源的,因此与开源文化和开源工具高度契合。Linux 提供了丰富的开发工具和开源框架,使开发人员能够更轻松地构建和测试代码。
  2. 终端和命令行工具:Linux 提供强大的终端和命令行工具,使开发人员可以使用命令行界面来进行各种操作,从文件管理到版本控制,从构建代码到调试。
  3. 多样化的编程语言支持:Linux 提供了广泛的编程语言支持,包括 Python、C、C++、Java、Go 等,开发人员可以根据项目需求选择最适合的语言。
  4. 开发库和工具:Linux 社区开发了许多强大的开发库和工具,用于构建各种类型的应用程序,包括网络应用、桌面应用、嵌入式系统等。
  5. 性能和稳定性:Linux 是一种高性能和稳定的操作系统,能够有效地处理资源密集型任务,这对于开发高性能应用程序和服务器端应用程序非常重要。
  6. 自定义和灵活性:Linux 允许用户自定义环境和工作流程,从桌面外观到开发环境设置,开发人员可以根据自己的喜好进行个性化设置。
  7. 服务器和云环境兼容性:许多服务器和云平台都运行在 Linux 上,因此在 Linux 上进行开发可以更好地匹配目标部署环境。
  8. 开发社区和支持:Linux 拥有庞大的开发社区,开发人员可以从社区中获取支持、解决问题,并学习最佳实践。
  9. 安全性:Linux 的安全性很高,有助于保护开发人员的代码和敏感数据。
  10. 跨平台开发:在 Linux 上开发的代码通常可以轻松地移植到其他操作系统,从而实现跨平台的开发。

git clone 和 git pull的区别

  1. git clone:
    用途:git clone 用于在本地创建一个新的 Git 仓库副本(克隆),将远程仓库的内容完整地复制到本地。
    用法:git clone <远程仓库地址>
    行为:它会将整个远程仓库的历史记录、分支、标签等复制到本地,创建一个与远程仓库相同的本地仓库副本。

  2. git pull:
    用途:git pull 用于从远程仓库中获取最新的代码更新,将远程仓库中的变更合并到当前分支。
    用法:git pull <远程仓库名称> <分支名称>
    行为:git pull 首先会尝试从指定的远程仓库下载最新的代码变更,然后尝试自动合并到当前分支。如果存在冲突,需要手动解决冲突后再提交。
    区别:

git clone 通常在项目初始阶段使用,用于创建一个全新的本地仓库。它会复制整个仓库的内容,并且只需要执行一次。
git pull 用于在已有的本地仓库中获取远程仓库的最新代码,并将其合并到当前分支。它常用于获取最新更新或在多人协作时同步代码。
示例场景:

如果你要从零开始,克隆一个项目并进行开发,使用 git clone。
如果你在已有的项目中想要获取最新代码更新,使用 git pull。
需要注意的是,git pull 可能会引起代码合并冲突,特别是在多人协作的项目中。在执行 git pull 之前,最好先确保你的本地修改已经提交或保存,以避免不必要的代码冲突。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐