Git的基本用法|青训营

2023年 8月 28日 22.7k 0

Git的用法

为什么要使用GIT?

Git是一种分布式版本控制系统,用于跟踪和管理计算机程序代码的变化。它由Linus Torvalds于2005年创建,最初用于管理Linux内核开发,目前已被广泛应用于各种软件项目和团队协作中。

Git的一些重要概念和功能有:

  • 版本控制:  Git允许开发人员跟踪代码的历史变化,从而可以轻松地查看以前的版本、比较更改以及回退到旧版本。
  • 分布式系统:  Git不仅仅是一个中心服务器上的版本控制系统,每个开发人员的本地计算机都包含完整的代码库和历史记录。这使得开发人员可以在没有网络连接的情况下工作,以及更容易处理分支和合并操作。
  • 代码仓库:  代码仓库是存储项目代码和历史记录的地方。每个开发人员可以在自己的本地计算机上拥有一个完整的代码仓库,并可以从远程仓库克隆、推送和拉取更改。
  • 提交(Commit):  提交是指将一组文件更改添加到代码仓库的过程。每个提交都有一个描述性的消息,用于解释为什么进行了这些更改。
  • 分支(Branch):  分支是独立的开发路径,允许开发人员在不影响主要代码线的情况下开展工作。分支可以用于开发新功能、修复错误等。
  • 合并(Merge):  合并是将一个分支的更改合并到另一个分支的过程。这使得团队可以将不同开发路径的工作合并到一起。
  • 远程仓库:  远程仓库是存储在互联网上的代码仓库,通常用于团队协作。常见的远程仓库托管服务包括GitHub、GitLab和Bitbucket。
  • 拉取(Pull)和推送(Push):  拉取是从远程仓库获取最新更改的过程,而推送是将本地更改上传到远程仓库的过程。
  • 标签(Tag):  标签是代码仓库中特定版本的命名指针,通常用于标识发布版本。
  • Git在开发过程中的优势包括:

    • 分布式特性:  每个开发人员都可以在本地工作,不受网络连接的限制。
    • 分支管理:  可以并行开发不同功能,然后将更改合并在一起,从而减少冲突。
    • 版本历史:  可以轻松地查看代码的演变历史,比较不同版本之间的更改。
    • 协作与合并:  多人团队可以同时工作,然后将各自的更改合并到共同的代码库中。

    0x00

  • 创建github ssh key

    在github中右上角→我→设置→Connect with SSH→Generate new SSH Key打开以下界面

  • Git的基本用法|青训营-1

  • 在terminal 中创建一对密钥

    $ ssh-keygen -t ed25519 -C "your_email@example.com"

    此处"your_email@example.com"为你的GitHub邮箱,使用的算法为Ed25519 算法

    此时将生成一对密钥

    Generating public/private ALGORITHM key pair.

    后提示选择密钥保存的位置时,按下return键则将密钥保存到默认位置

    按照系统提示,为密钥设置密码即可完成设置

    执行以下指令,将公钥复制到上图key中,完成后点击Add SSH key即可

    $pbcopy < ~/.ssh/id_ed25519.pub

  • 0x01

    使用git提交文件

    在多人开发合作过程中,一般会将主仓库fork到自己的帐户下,再clone到本地进行开发,在完成某个功能后,再将自己的文件提交到自己帐户下的仓库,在GitHub中创建一个PR,写清楚修改的内容或完成的部分,提交PR。说提交的PR将由主仓库的管理员合入分支。

    在本地完成开发后,将文件提交到自己的仓库里往往经过了以下三个步骤,即add文件 commit暂存 push到远程仓库。

    git add 

    git commit -s -m "description"

    git push origin

    以下为git常用的一些命令

    初始化一个新的仓库:

    git init
    

    这将在当前目录下创建一个新的Git仓库。

  • 克隆远程仓库:
  • git clone 
    

    这将从远程仓库克隆代码到本地。

  • 添加文件到暂存区:
  • git add 
    

    这将将指定的文件添加到暂存区,以便在下一次提交时包含这些更改。

    提交更改:

    git commit -m "提交消息"
    

    这将提交暂存区的更改到本地仓库,并附带一条描述性的提交消息。

    查看提交历史:

    git log
    

    这将显示提交历史,包括每次提交的作者、时间和提交消息。

    创建分支:

    git branch 
    

    这将创建一个新的分支,您可以在新分支上开展工作。

    切换分支:

    git checkout 
    

    这将切换到指定的分支。

    合并分支:

    git merge 
    

    这将将指定分支的更改合并到当前分支。

    拉取远程更改:

    git pull origin 
    

    这将从远程仓库拉取最新更改并合并到当前分支。

    推送更改到远程仓库:

    git push origin 
    

    这将将本地分支的更改推送到远程仓库。

    创建标签:

    git tag -a  -m "标签说明" 
    

    这将在指定的提交上创建一个标签,用于标识特定版本。

    查看当前状态:

    git status
    

    这将显示当前工作目录的状态,包括未暂存和已暂存的更改。

    这只是Git中一些基本的操作和命令示例。Git具有更多功能和选项,您可以通过查阅Git文档或教程深入了解。在使用Git时,建议先在单个文件中尝试这些命令,然后逐步扩展到更大的项目。

    0x02

    解决冲突

    由于git是一个分布式系统,在多人编辑同一个文件到情况下可能发生冲突,以下为解决冲突的几种方式。

  • 拉取远程更改或合并分支:  首先,确保的本地仓库是最新的,可以使用以下命令拉取远程更改或合并分支:

    git pull origin 
    
  • 发现冲突:  如果在拉取或合并过程中发生冲突,Git会将冲突标记为以下样式的注释:

    > 提交哈希值
    
  • 手动解决冲突:  打开包含冲突的文件,将看到冲突的部分在上述样式的注释之间。此时需要手动编辑此文件以决定保留哪些更改或如何合并这些更改。例如,可以将冲突的部分修改成您希望的最终状态,删除冲突标记,然后保存文件。

  • 暂存解决后的文件:  在解决冲突后,使用以下命令将解决后的文件标记为已解决:

    git add 
    
  • 完成合并或提交:  一旦所有冲突都已解决并且文件已暂存,您可以完成合并或提交:

    git commit -m "解决冲突"
    
  • 推送更改(如果是合并分支的情况):  如果您是在合并分支时解决冲突,解决冲突后,您可能需要将更改推送到远程仓库:

  • 相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论