Git-自学【速通版】

打印 上一主题 下一主题

主题 845|帖子 845|积分 2537

Git


  
   大纲

  Git的焦点概念



  • 工作目录:存放当前正在举行的文件修改。
  • 暂存区(Staging Area):存放期待提交的文件修改。
  • Git数据库:存放了Meta信息和所有文件的快照,是Git的仓库。
  • HEAD:指向当前激活的分支的最后一次提交。
  • 分支:指向提交对象的可移动指针,允许开发者在差别的工作线上举行开发。
  • 提交(Commit):保存工作目录的快照,包罗文件的当前状态和元数据(如作者、日期等)。
  • 归并(Merge):将两个或多个开发者的工作联合在一起。
  • 克隆(Clone):创建一个仓库的完整副本到本地。
  • 拉取(Fetch):从远程仓库获取更新。
  • 推送(Push):将本地的更新发送到远程仓库。
Git的设计哲学夸大速度、数据完整性和支持非线性开发。它通过使用SHA-1哈希算法来保证数据的安全性,并且在本地拥有完整的汗青记载和所有文件的快照,从而淘汰了对中央服务器的依赖.

Git常用操纵


  • 安装Git

    • 在Windows上,你可以从Git官网下载安装程序并安装。
    • 在Linux或macOS上,你可以使用包管理器安装,比方在Ubuntu上使用sudo apt-get install git。

  • 设置Git

    • 设置全局用户名和邮箱:
      1. git config --global user.name "User"
      2. git config --global user.email "邮箱账号"
      复制代码

设置好后可以通过
  1.           git config user.name
  2.         git config user.email
复制代码


  • 创建或克隆仓库

    • 创建一个新的仓库:
      1. git init
      复制代码
    • 克隆远程仓库到本地:
      1. git clone [repository-url]
      复制代码

  • 查抄仓库状态

    • 查看仓库当前状态:
      1. git status
      复制代码

  • 添加文件到暂存区

    • 添加单个文件:
      1. git add [file-name]
      复制代码
    • 添加多个文件:
      1. git add [file1] [file2] ...
      复制代码
    • 添加所有更改:
      1. git add .
      复制代码

  • 提交更改

    • 提交暂存区的更改:
      1. git commit -m "Commit message"
      复制代码

  • 查看提交汗青

    • 查看提交日志:
      1. git log
      复制代码

  • 分支操纵

    • 创建新分支:
      1. git branch [branch-name]
      复制代码
    • 切换到指定分支:
      1. git checkout [branch-name]
      复制代码
    • 创建并切换到新分支:
      1. git checkout -b [branch-name]
      复制代码

  • 归并分支

    • 将指定分支归并到当前分支:
      1. git merge [branch-name]
      复制代码

  • 拉取远程分支更新

    • 拉取远程仓库的最新状态:
      1. git pull [remote-name] [branch-name]
      复制代码

  • 推送本地更改到远程仓库

    • 推送当前分支到远程仓库:
      1. git push [remote-name] [branch-name]
      复制代码

  • 解决辩论

    • 当归并时出现辩论,需要手动解决辩论后再次提交。

  • 查看差异

    • 比较工作目录和暂存区的差异:
      1. git diff
      复制代码
    • 比较暂存区和上一次提交的差异:
      1. git diff
      2. --cached
      复制代码

  • 撤销操纵

    • 撤销上一次提交(保存更改):
      1. git reset --soft HEAD~1
      复制代码
    • 撤销工作目录的更改:
      1. git checkout -- [file-name]
      复制代码

  • 标签管理

    • 创建标签:
      1. git tag [tag-name]
      复制代码
    • 推送标签到远程仓库:
      1. git push [remote-name] [tag-name]
      复制代码

这些是Git的一些基本操纵,掌握它们可以帮助你更好地使用Git举行版本控制和协同工作。如果你需要更具体的教程或有特定的Git题目,随时可以提问。

Git高端操纵

   主要是一些复杂的命令和工作流程,这些可以帮助开发者更高效地管理代码
  

  • 交互式暂存

    • 使用git add -i或git add --interactive举行交互式暂存,选择性地添加更改到暂存区。

  • 重新排序提交

    • 使用git rebase -i [commit-hash]交互式地重新排序、修改、归并或删除提交。

  • 变基

    • 使用git rebase将当前分支的更改应用到另一分支上,使汗青更加线性。

  • 撤销变基

    • 如果变基过程中出现题目,可以使用git rebase --abort撤销变基。

  • 修复公共提交

    • 使用git revert [commit-hash]撤销一个公共分支上的提交,而不影响其他提交。

  • 樱桃挑选

    • 使用git cherry-pick [commit-hash]将特定提交应用到当前分支。

  • 子模块

    • 管理项目中的外部依赖或子项目,使用git submodule add [repository-url]添加子模块。

  • 工作流脚本

    • 编写脚本主动化常规的Git操纵,比方持续集成或部署流程。

  • 远程分支操纵

    • 使用git push --delete [remote-name] [branch-name]删除远程分支。

  • 远程跟踪分支

    • 查看远程跟踪分支的状态:git branch -r。

  • 远程仓库操纵

    • 使用git remote -v查看远程仓库信息。
    • 使用git remote rename [old-name] [new-name]重定名远程仓库。
    • 使用git remote add [remote-name] [url]添加新的远程仓库。

  • SSH密钥管理

    • 生成SSH密钥对,使用ssh-keygen,并将公钥添加到远程仓库的账户中以实现无暗码访问。

  • Git钩子

    • 使用Git钩子(如pre-commit, post-merge等)在特定变乱发生时主动实行脚本。

  • 整理大型文件

    • 使用git gc和git prune整理不必要的文件和优化仓库。

  • 忽略文件模式

    • 使用.gitignore文件的模式匹配来忽略特定文件或目录。

  • 希罕暂存

    • 使用.gitattributes文件设置希罕暂存,只暂存目录中的部分文件。

  • 多工作区

    • 设置多个工作区,以便在差别的上下文中工作,使用git worktree add添加新的工作区。

  • 补丁文件

    • 创建补丁文件:git format-patch [commit-hash]。
    • 应用补丁文件:git apply [patch-file]。

  • Git设置和别名

    • 使用git config --global alias.[alias-name] '[command]'创建别名,简化常用命令。

  • Git命令的组合使用

    • 组合使用多个Git命令,比方git stash和git stash pop到暂时保存和规复更改。

这些高级操纵可以帮助开发者更深入地理解和使用Git,以顺应更复杂的版本控制需求。如果你需要具体的命令示例或有特定的高级操纵题目,随时可以提问。

Git应用

Git是一个功能强盛的分布式版本控制系统,广泛应用于软件开发中,以帮助开发者管理代码的变更汗青、协作以及代码的备份和规复。以下是Git的一些主要应用场景:

  • 版本控制

    • 跟踪和管理代码的每一次提交和变更。

  • 分支管理

    • 允许开发者创建多个分支来并行开发差别的功能,然后归并这些分支。

  • 代码归并

    • 将差别分支的代码归并到一起,解决归并过程中大概出现的辩论。

  • 协同工作

    • 支持多人在同一个项目上工作,通过归并各自的更改来集成代码。

  • 代码审查

    • 在归并分支之前,举行代码审查以确保代码质量和项目的准。

  • 错误追踪

    • 通过提交信息和标签,快速定位和修复错误。

  • 远程仓库

    • 通过远程仓库(如GitHub、GitLab、Bitbucket等)与环球的开发者共享和协作。

  • 备份和规复

    • 定期备份代码到远程仓库,使用git reflog等命令规复丢失的提交。

  • 主动化脚本

    • 编写脚本来主动化常规的Git操纵,如持续集成/持续部署(CI/CD)。

  • 子模块和依赖管理

    • 使用子模块来包含和管理项目中的其他Git仓库。

  • 工作流定制

    • 根据团队的需求定制工作流程,如Git Flow、GitHub Flow等。

  • 代码重构

    • 在不影响版本汗青的情况下,重构代码并提交更改。

  • 汗青分析

    • 使用git blame、git log
      等命令分析代码的变更汗青和作者。

  • 权限管理

    • 在私有仓库中设置差别的访问权限,控制谁可以推送或拉取代码。

  • 文档管理

    • 使用Git管理文档和Markdown文件的版本。

  • 跨平台支持

    • Git支持多种操纵系统,包罗Windows、Linux和macOS。

  • 图形用户界面(GUI)

    • 使用各种图形界面工具(如SourceTree、GitHub Desktop等)简化Git操纵。

  • 教诲和学习

    • 作为学习编程和软件开发的工具,帮助理解代码变更和团队协作。

  • 科学盘算和数据分析

    • 管理科学盘算脚本、数据分析代码和效果。

  • Web开发

    • 用于前端和后端的Web开发项目,管理静态文件和服务器端代码。


Git的应用非常广泛,险些涉及到任何需要版本控制的软件开发项目。随着对Git的深入使用,开发者可以更有效地管理代码,提高开发效率和质量。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

拉不拉稀肚拉稀

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表