Git 安装与使用详解 |Git基本词汇概念 |常用Git命令 |工具使用 |Git Extensions 的安装汉化 |小白新人 初学者 必看 |git 入门指南

目录

注意:必看

为什么用git?

常用Git命令

 1. Git 的介绍

 2. 如何安装 Git

2.1 Windows

2.2 macOS

2.3 Linux

 3. Git 基本配置

2.   查看配置:         

 4. 创建和管理仓库

4.2 添加文件到仓库

1.   创建或添加文件:     

2.   添加文件到暂存区:     

3.   查看状态:     

 4.3 提交更改

1.   提交文件到本地仓库:         

 5. 分支管理

5.1 创建新分支

5.2 切换分支

5.3 查看分支

 6. 合并分支

1.   切换到目标分支,如 `master`:     

2.   合并其他分支:               

7. 重点,处理冲突:,必然遇到。

1.手动解决冲突,

2.典型的合并冲突案例及解决方案:

3.Git合并冲突的图形化工具推荐

4.在解决Git合并冲突时,如何避免代码丢失

5.Git合并冲突解决后,如何确保代码质量

 8. 查看更改历史

 9. 远程仓库操作

9.1 添加远程仓库

 9.2 推送更改

9.3 拉取最新更改

       总结

工具使用

GitHub Desktop

GitKraken

SourceTree

Visual Studio Code

对于初学者来说,哪个工具更易上手?

这些工具是否支持跨平台使用?

Git Extensions 的安装

Git Extensions汉化

Git Extensions配置

前沿技术

Git hooks

Git submodule

写文不易   给我 点点赞和主页关注   点点收藏吧


写文不易   给我 点点赞和主页关注   点点收藏吧

注意:必看

安装前先去注册一个gitee账号 有的小伙伴可能会问?不是注册github嘛,,有实力的可以用那个,不过需要挂代理,至于代理,具体自己研究,我没有用过,不太清楚。。。 对于小白我还是建议先用 gitlab 或gitee。

为什么用git?

Git是目前最流行的分布式版本控制系统之一。在分布式版本控制系统中,没有单一的中央服务器来存储所有代码。相反,每个开发者都有自己的本地仓库,可以包含整个项目的历史。开发者可以自由地在本地进行更改,然后将这些更改推送到其他仓库或从其他仓库拉取更改。这种模式提供了高度的灵活性和可靠性,因为即使没有网络连接,开发者也可以继续工作。

仓库(Repository):存储项目文件的地方,包括所有历史记录和版本信息。

工作目录(Working Directory):当前检出的项目文件夹,你可以在这里编辑文件。

暂存区(Staging Area):一个临时区域,用于暂存即将提交的更改。

提交(Commit):对项目文件所做的更改被保存到仓库中,每次提交都会创建一个快照。

分支(Branch):允许你在不同的开发线路上工作,分支之间可以独立更改。

合并(Merge):将一个分支的更改合并到另一个分支。

冲突(Conflict):当两个分支对同一文件的同一部分进行了不同的更改时,合并时会出现冲突。

常用Git命令

git init:初始化一个新的Git仓库。

git clone [url]:克隆一个远程仓库到本地。

git add [file]:将文件添加到暂存区。

git commit -m "message":将暂存区的更改提交到仓库,并附上提交信息。

git status:查看工作目录和暂存区的状态。

git push [remote] [branch]:将本地分支的更新推送到远程仓库。

git pull [remote] [branch]:从远程仓库拉取更新并合并到本地分支。

git branch:列出、创建或删除分支。

git checkout [branch]:切换到指定分支。

git merge [branch]:将指定分支合并到当前分支。

git log:查看提交历史。

 1. Git 的介绍

Git 是一个分布式版本控制系统,旨在高效处理从小型到大型的项目版本管理。它能够帮助团队协作,追踪项目的变化,并简化开发流程。

 2. 如何安装 Git

不同操作系统的安装方法如下:

2.1 Windows

1.   下载 Git:     

   - 访问 [Git官网](https://git-scm.com)。

   - 下载适合Windows系统的安装包。

2.   安装 Git:     

   - 双击下载的安装包。

   - 按照提示逐步安装,保持默认设置即可。

3.   配置环境变量:     

   - 确认安装过程中选择了将Git添加到系统环境变量中。

4.   验证安装:     

   - 开启命令提示符(cmd)或PowerShell,输入以下命令:   

     git --version        

   - 如果安装成功,      会看到Git的版本信息。

2.2 macOS

1.   通过 Homebrew 安装:     

   - 打开终端,输入以下命令:

            

     brew install git

2.   验证安装:     

   - 输入以下命令查看版本:

         

     git --version

3.   通过 Xcode 安装:     

    还可以通过安装 Xcode Command Line Tools 来安装 Git,输入:  

     xcode-select --install

            

2.3 Linux

- 对于使用Debian或Ubuntu的用户,打开终端并输入:

         

  sudo apt update

  sudo apt install git

         

- 对于Fedora用户,使用以下命令:

      

  sudo dnf install git     

- 对于Arch Linux用户,运行:

         

  sudo pacman -S git     

-   验证安装:           

   

  git --version

         

 3. Git 基本配置

安装后,基本的配置如下

1.  设置用户名和邮箱:     

git config --global user.name "引号内是gitee/github注册用户名,自己的名字"

git config --global user.email " xxxx@XXX.com 你在git/gihub上提前注册好的邮箱"       

ssh-keygen  -t rsa -C "gitee注册邮箱" 生成秘钥

Gitee/GitHub上添加公钥

ssh-T xxxxx@xxxx.com 验证秘钥

HTTPS 协议克隆仓库:

git clone https://gitee.com/用户名/仓库名.git

使用 SSH 协议克隆仓库:

git clone git@gitee.com:用户名/仓库名.git

测试克隆(clone)github 一个名叫 tom的人的仓库,他的仓库名叫 tomcangku.git 

xxx @xxx.com 这是远程到gitee或GitHub的SSH地址,用于通过SSH协议进行通信  

git@github.com这个地址是GitHub通用的  同理 git的是 git@gitee.com 如下

git clone xxxxx@xxxxxxx.com:tom/tomcangku.git

2.   查看配置:         

   git config --list

 4. 创建和管理仓库

4.1 创建新仓库

1.使用命令行创建新仓库:

注意: mkdir my_project git  init  my_project   cd my_project  和下面命令一样

my_project  指的的是仓库/项目名,这个要改成你自己的。

   mkdir my_project

   cd my_project

   git init      

2.   从远程仓库克隆:               

   git clone https://github.com/username/repo.git

          

4.2 添加文件到仓库

1.   创建或添加文件:     

             touch file.txt

          

2.   添加文件到暂存区:     

          

   git add file.txt          

3.   查看状态:     

   git status

          

 4.3 提交更改

1.   提交文件到本地仓库:         

   git commit -m "添加file.txt文件"

          

 5. 分支管理

5.1 创建新分支

- 创建并切换到新分支:        

  git checkout -b new_branch     

5.2 切换分支

- 切换到现有分支:

         

  git checkout master         

5.3 查看分支

- 查看所有分支:

         

  git branch         

 6. 合并分支

1.   切换到目标分支,如 `master`:     

          

   git checkout master

          

2.   合并其他分支:               

   git merge new_branch

          

7. 重点,处理冲突,必然遇到。

1.手动解决冲突,

当两个分支同时修改了同一文件的同一部分,或者一个分支删除了文件而另一个分支修改了文件时,Git无法自动合并这些更改,从而导致合并冲突。解决这些冲突通常遵循以下步骤: 需要手动解决冲突

1.识别冲突文件:Git会在合并过程中标记出有冲突的文件。你可以使用git status命令查看这些文件。

2.打开冲突文件:冲突文件中会包含特殊标记,指示出冲突的具体位置。这些标记通常如下所示

<<<<<<< HEAD 当前分支的内容 ======= 要合并的分支的内容 >>>>>>> 分支名

3.编辑文件:手动编辑这些文件,决定保留哪些更改。你可以选择保留当前分支的更改、要合并分支的更改,或者将两者合并为一个新版本。

4.标记冲突为已解决:在文件中删除Git的冲突标记,并保存文件。

5.添加文件到暂存区:使用git add命令将解决冲突后的文件标记为已解决状态。

git add [文件名]

6.完成合并:使用git commit命令来完成合并。Git会自动创建一个新的合并提交。

git commit

这将打开一个文本编辑器,让你输入合并提交的信息。保存并关闭编辑器后,合并提交就会完成。

测试:在解决冲突并完成合并后,务必进行彻底的测试,以确保更改没有破坏任何现有功能。

2.典型的合并冲突案例及解决方案

1. 同一文件的同一行被修改

案例:两个分支都修改了同一个文件的同一行代码。python代码

分支A:  

               def add(a, b):    return a + b  # 修改了返回值

分支B:

               def add(a, b):    return a + b  # 添加了注释

解决:选择保留哪个分支的更改,或者合并两个分支的更改。

               def add(a, b):    # 返回两个数的和    return a + b  # 保留分支A的更改,并添加分支B的注释

2. 文件被一个分支添加,被另一个分支删除

案例:一个分支添加了一个新文件,而另一个分支删除了同一个文件。Bash格式

分支A:

                touch new_file.txt

分支B:

                rm new_file.txt

解决:决定是否需要这个文件。如果需要,保留分支A的更改;如果不需要,保留分支B的更改。

3. 同一文件的不同部分被修改  3,4,5都是pytho代码

案例:两个分支修改了同一个文件的不同部分。

分支A:

               def add(a, b):    return a + b  # 修改了函数体

分支B:

               def add(a, b):    # 添加了新的参数    def add(a, b, c):        return a + b + c

解决:合并两个分支的更改,创建一个包含所有更改的新函数。

               def add(a, b, c=None):    if c is not None:        return a + b + c    else:        return a + b  # 合并了两个分支的更改

4. 同一函数的不同参数被添加

案例:两个分支向同一个函数添加了不同的参数。

分支A:

               def add(a, b):    return a + b

分支B:

               def add(a, b, c):    return a + b + c

解决:决定函数最终需要哪些参数,并相应地修改函数定义。

               def add(a, b, c=None):    if c is not None:        return a + b + c    else:        return a + b

5. 文件格式或缩进冲突

案例:由于编辑器或个人编码风格的差异,导致文件格式或缩进不一致。

分支A:

               def add(a, b):    return a + b

分支B:

               def add(a, b):    return a + b

解决:选择一个统一的编码风格,并应用到整个文件。

3.Git合并冲突的图形化工具推荐

1.GitHub Desktop:这是一个简单易用的图形化界面工具,适用于GitHub仓库,但也可以用于其他Git仓库。它提供了直观的界面来处理分支、合并和解决冲突。

2.GitKraken:GitKraken是一个功能强大的Git客户端,它提供了清晰的视图来管理分支和合并冲突。它支持拖放操作,使得分支管理变得非常直观。

3.SourceTree:由Atlassian开发,SourceTree是一个免费的Git和Mercurial客户端,提供了一个图形化界面来管理代码仓库。它特别适合那些希望在图形化界面中进行版本控制的用户。

4.Visual Studio Code:虽然主要是一个代码编辑器,但VS Code内置了Git支持,可以很好地处理简单的合并冲突。对于复杂的冲突,VS Code允许你打开冲突文件,并在编辑器中直接解决冲突。

5.IntelliJ IDEA:对于使用Java或Kotlin等语言的开发者来说,IntelliJ IDEA是一个非常流行的集成开发环境(IDE),它内置了对Git的全面支持,包括解决合并冲突的功能。

4.在解决Git合并冲突时,如何避免代码丢失

1.理解冲突:在解决冲突之前,确保你完全理解了冲突的原因和上下文。

2.备份原始文件:在开始解决冲突之前,备份原始文件是一个好习惯,以防万一需要恢复。

3.逐步解决:不要一次性解决所有冲突。一次解决一个冲突,并确保每次更改后代码仍然可以编译和运行。

4.使用版本控制历史:如果需要,可以查看文件的历史版本来帮助你决定保留哪些更改。

5.测试:在解决冲突后,运行测试套件(如果有的话)来确保更改没有破坏任何功能。

6.代码审查:在合并分支之前,让其他团队成员审查你的更改,以确保没有遗漏重要的内容。

5.Git合并冲突解决后,如何确保代码质量

1.运行测试:确保所有自动化测试都通过,包括单元测试、集成测试和功能测试。

2.代码审查:提交合并请求(Pull Request),并邀请其他团队成员进行代码审查。审查过程中,其他开发者可以提供反馈,帮助发现潜在的问题。

3.代码风格检查:使用代码风格检查工具(如ESLint、Pylint等)来确保代码遵循团队的编码标准。

4.静态代码分析:使用静态代码分析工具(如SonarQube)来检测代码中的潜在问题,如安全漏洞、性能问题等。

5.手动检查:在自动化检查之外,进行手动代码审查,特别是对于复杂的逻辑或新添加的功能。

6.代码复审:在代码合并到主分支后,进行复审,确保合并后的代码在生产环境中表现正常。   

 8. 查看更改历史

- 查看提交历史:

       

git log       

- 查看简要历史:

       

git log --oneline

       

 9. 远程仓库操作

9.1 添加远程仓库

git remote add origin https://github.com/username/repo.git

       

 9.2 推送更改

- 将本地更改推送到远程仓库:

       

git push origin master       

9.3 拉取最新更改

- 从远程仓库获取最新更改并合并:

       

git pull origin master

       

 10. 删除分支

- 删除本地分支:

       

git branch -d branch_name       

- 强制删除:

       

git branch -D branch_name   

 11. 其他常用命令

- 查看未跟踪的文件:

       

git ls-files --others --exclude-standard       

- 恢复未提交的更改:

       

git checkout -- file.txt

- 查看当前分支:

       

git rev-parse --abbrev-ref HEAD       

- 查看远程地址:

       

git remote -v

       总结

以上就是Git的安装与基本使用指南,从环境的搭建到实际操作的详细步骤,涵盖了大部分Git的核心命令和用法。借助这些工具将能够有效地进行版本控制,促进团队协作,提升开发效率。需要注意的是,随着使用的深入,可能会遇到更复杂的需求,持续学习将助于更好地掌握Git。

工具使用

GitHub Desktop

1.安装:访问GitHub Desktop官网下载并安装适合你操作系统的版本。

2.克隆仓库:使用GitHub Desktop克隆远程仓库到本地。

3.创建分支:在GitHub Desktop中创建新分支,开始你的工作。

4.提交更改:在本地完成更改后,使用GitHub Desktop提交这些更改。

5.解决冲突:如果在推送时遇到冲突,GitHub Desktop会提示你解决冲突。你可以直接在GitHub Desktop中打开冲突文件并编辑。

6.推送更改:解决冲突后,使用GitHub Desktop将更改推送到远程仓库。

GitKraken

1.安装:访问GitKraken官网下载并安装。

2.连接仓库:通过GitKraken连接到你的GitHub、GitLab或Bitbucket账户,或直接添加本地仓库。

3.创建分支:在GitKraken中创建新分支,并开始工作。

4.提交更改:在完成更改后,使用GitKraken提交更改。

5.解决冲突:在GitKraken中,如果存在冲突,它会高亮显示冲突文件。你可以直接在GitKraken中打开这些文件并解决冲突。

6.推送更改:解决冲突后,使用GitKraken推送更改到远程仓库。

SourceTree

1.安装:访问SourceTree官网下载并安装。

2.克隆仓库:使用SourceTree克隆远程仓库到本地。

3.创建分支:在SourceTree中创建新分支,并开始工作。

4.提交更改:在本地完成更改后,使用SourceTree提交这些更改。

5.解决冲突:如果遇到冲突,SourceTree会显示冲突文件。你可以直接在SourceTree中打开这些文件并解决冲突。

6.推送更改:解决冲突后,使用SourceTree推送更改到远程仓库。

Visual Studio Code

1.安装:下载并安装Visual Studio Code

2.集成Git:安装Git扩展,如“GitLens”或VS Code内置的Git支持。

3.解决冲突:在编辑器中,VS Code会高亮显示冲突部分。你可以直接编辑这些部分来解决冲突。

4.提交更改:使用VS Code的源代码控制面板提交更改。

5.推送更改:解决冲突后,使用VS Code的源代码控制面板推送更改到远程仓库。

IntelliJ IDEA

1.安装:下载并安装IntelliJ IDEA

2.集成Git:IntelliJ IDEA内置了Git支持,可以在“Version Control”面板中管理分支和提交。

3.解决冲突:在编辑器中,IntelliJ IDEA会高亮显示冲突部分。你可以直接编辑这些部分来解决冲突。

4.提交更改:使用IntelliJ IDEA的“Version Control”面板提交更改。

5.推送更改:解决冲突后,使用IntelliJ IDEA的“Version Control”面板推送更改到远程仓库。

对于初学者来说,哪个工具更易上手?

GitHub Desktop 和 Visual Studio Code 通常被认为对初学者更友好,因为它们提供了直观的图形界面和较少的复杂性。

IntelliJ IDEA 对于有编程背景的用户来说也很容易上手,尤其是对于Java、Kotlin等语言的开发者。

GitKraken 和 SourceTree 提供了强大的功能和直观的界面,但可能需要一些时间来熟悉它们的高级特性。

这些工具是否支持跨平台使用?

GitHub DesktopGitKrakenSourceTree 和 Visual Studio Code 都支持跨平台使用,可以在Windows、macOS和Linux上运行。

IntelliJ IDEA 也支持跨平台使用,但其社区版和专业版在不同操作系统上的功能可能略有不同。

选择哪个工具取决于你的个人偏好、项目需求以及你对工具的熟悉程度。对于初学者来说,建议尝试几个不同的工具,找到最适合自己的那一个。

Git Extensions 的安装

Git Extensions汉化

Git Extensions配置

 Git Extensions配置参考来源

https://jingyan.baidu.com/article/3c48dd34a76e29e10ae35845.html

前沿技术

Git的前沿技术包括:

  • Git LFS(Large File Storage):用于管理大文件的版本控制。
  • Git hooks:在特定的事件(如提交)发生时自动执行脚本。
  • Git submodule:允许在一个Git仓库中嵌入另一个Git仓库。

Git hooks

Git hooks是一组在特定事件发生时自动执行的脚本,它们可以帮助开发人员自动化任务、检查代码质量、通知其他开发者等。Git hooks可以在提交代码前、推送代码后、合并分支前等事件发生时触发。

以下是一些常见的Git hooks及其用途:

  1. pre-commit:在提交代码之前执行,可以用来检查代码是否符合规范、是否存在拼写错误等。
  2. commit-msg:在提交代码时执行,可以用来验证提交信息是否符合规范。
  3. prepare-commit-msg:在准备提交信息之前执行,可以用来修改提交信息。
  4. pre-rebase:在执行rebase操作之前执行,可以用来备份提交记录或进行其他操作。
  5. post-checkout:在检出代码之后执行,可以用来设置工作目录的环境变量或执行其他操作。
  6. post-merge:在合并分支之后执行,可以用来更新版本控制系统或执行其他操作。
  7. pre-push:在推送代码到远程仓库之前执行,可以用来检查本地代码是否与远程代码一致。
  8. pre-receive:在接收到推送请求之前执行,可以用来验证推送请求是否符合规范。
  9. update:在每次推送代码时执行,可以用来更新版本控制系统或执行其他操作。

举例:假设我们有一个项目,需要在每次提交代码前检查代码风格是否符合规范。我们可以创建一个pre-commit的hook,在其中添加以下命令:

#!/bin/sh
# 检查代码风格是否符合规范
if ! grep -E "^(import|from)" my_project/*.py > /dev/null; then
    echo "代码风格不符合规范,请检查!"
    exit 1
fi

这样,在每次提交代码时,pre-commit hook会自动执行,检查代码风格是否符合规范。如果不符合规范,提交将被拒绝。

Git submodule

Git submodule 是 Git 中的一种子仓库管理方式,它允许在一个 Git 仓库中嵌入另一个 Git 仓库。使用 Git submodule 可以方便地管理多个独立的 Git 仓库,并且可以在主仓库中进行版本控制和协作开发。

使用 Git submodule 的步骤如下:

  1. 在主仓库中添加子仓库:
git submodule add <submodule_repository_url> <submodule_directory>

其中 <submodule_repository_url> 是子仓库的 URL,<submodule_directory> 是子仓库在主仓库中的目录。

  1. 初始化子仓库
git submodule init
  1. 更新子仓库:
git submodule update
  1. 提交主仓库时,需要同时提交主仓库和子仓库的更改。

  2. 如果需要删除子仓库,可以使用以下命令:

git submodule deinit <submodule_directory>

rm -rf <submodule_directory>

git rm <submodule_directory>
  1. 如果需要从远程仓库拉取子仓库的最新代码,可以使用以下命令:
git submodule update --remote

使用 Git submodule 的好处是可以方便地管理多个独立的 Git 仓库,并且可以在主仓库中进行版本控制和协作开发

写文不易   给我 点点赞和主页关注   点点收藏吧

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

3分云计算

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值