Git使用

Git使用

1. 安装Git

Windows

  1. 访问Git for Windows网站,点击"Download"按钮下载Git安装程序。
  2. 运行下载的安装程序,按照安装向导的步骤进行安装。
    • 选择安装路径
    • 选择组件(建议保留默认设置)
    • 选择文本编辑器(默认是Vim,你可以选择你喜欢的编辑器,如Notepad++或Visual Studio Code)
    • 选择环境变量路径(推荐选择"Git from the command line and also from 3rd-party software")
    • 选择Git协议(建议保留默认设置)
    • 选择终端模拟器(推荐选择"Use MinTTY")
    • 选择其他配置(建议保留默认设置)

安装完成后,可以通过Git Bash或命令提示符来使用Git。

macOS

  1. 打开终端。

  2. 使用Homebrew安装Git。如果还没有安装Homebrew,可以访问Homebrew官方网站进行安装。安装Homebrew后,运行以下命令安装Git:

    bash 复制代码
    brew install git
  3. 也可以从Git for Mac下载安装程序并按照说明进行安装。

Linux

Debian/Ubuntu系统:

  1. 打开终端。

  2. 更新包索引并安装Git:

    bash 复制代码
    sudo apt-get update
    sudo apt-get install git

Fedora系统:

  1. 打开终端。

  2. 安装Git:

    bash 复制代码
    sudo dnf install git

安装完成后,可以在终端中运行以下命令检查Git是否安装成功:

bash 复制代码
git --version

2. 配置Git

安装完成后,需要配置Git的用户名和电子邮件地址,这些信息会出现在每次提交记录中。

bash 复制代码
git config --global user.name "Your Name"
git config --global user.email "youremail@example.com"

这些命令使用--global选项,这意味着它们会影响到系统上所有的Git仓库。如果只想为某个特定的项目配置这些信息,可以在项目目录中运行不带--global选项的命令:

bash 复制代码
cd myproject
git config user.name "Your Project Name"
git config user.email "projectemail@example.com"

可以通过以下命令查看所有配置:

bash 复制代码
git config --list

3. 创建一个新的Git仓库

初始化仓库

在一个项目目录中初始化一个新的Git仓库:

bash 复制代码
mkdir myproject
cd myproject
git init

这会在myproject目录中创建一个.git子目录,包含仓库的所有元数据和对象。此时,你的项目目录已经是一个Git仓库了。

添加文件

创建一些文件并将它们添加到仓库中:

bash 复制代码
echo "# My Project" > README.md
git add README.md

4. 克隆一个现有的Git仓库

如果想从远程仓库创建一个本地副本,可以使用git clone命令:

bash 复制代码
git clone https://github.com/username/repo.git

这会创建一个名为repo的目录,并将远程仓库的所有内容复制到该目录中。repo目录现在是一个Git仓库,可以在其中进行更改、提交和推送操作。

5. 检查当前仓库状态

git status命令显示当前分支的状态,包括已修改但未暂存的文件、已暂存但未提交的文件等。

bash 复制代码
git status

示例输出:

复制代码
On branch main
Your branch is up to date with 'origin/main'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        newfile.txt

nothing added to commit but untracked files present (use "git add" to track)

6. 添加文件到暂存区

在提交文件之前,需要将它们添加到暂存区。暂存区是Git用来保存即将提交的快照的区域。

添加单个文件

bash 复制代码
git add <file_name>

示例:

bash 复制代码
git add README.md

添加所有文件

bash 复制代码
git add .

这个命令会添加当前目录及其子目录中的所有文件。

7. 提交更改

将暂存区中的文件提交到本地仓库。每次提交都需要一个提交信息,以描述本次更改的内容。

bash 复制代码
git commit -m "描述你的更改"

示例:

bash 复制代码
git commit -m "添加了README文件"

8. 查看提交历史

git log命令显示提交历史,包括每个提交的哈希值、作者、日期和提交信息。

bash 复制代码
git log

示例输出:

复制代码
commit 1a2b3c4d5e6f7g8h9i0j
Author: Your Name <youremail@example.com>
Date:   Mon Jul 17 12:34:56 2024 +0000

    添加了README文件

commit 0j9i8h7g6f5e4d3c2b1a
Author: Your Name <youremail@example.com>
Date:   Sun Jul 16 11:23:45 2024 +0000

    初始化项目

可以使用git log --oneline命令简化输出:

bash 复制代码
git log --oneline

示例输出:

复制代码
1a2b3c4 添加了README文件
0j9i8h7 初始化项目

9. 推送更改到远程仓库

将本地仓库的更改推送到远程仓库。需要指定远程仓库的名称和分支名(通常为origin和main或master)。

bash 复制代码
git push origin <branch_name>

示例:

bash 复制代码
git push origin main

10. 拉取远程仓库的更改

从远程仓库获取最新的更改并合并到我们的本地分支。

bash 复制代码
git pull

11. 创建和切换分支

分支允许我们在同一个仓库中开发不同的功能或版本。

创建一个新的分支并切换到该分支

bash 复制代码
git checkout -b <new_branch_name>

示例:

bash 复制代码
git checkout -b feature-login

切换到已有的分支

bash 复制代码
git checkout <branch_name>

示例:

bash 复制代码
git checkout main

12. 合并分支

将一个分支的更改合并到当前分支。这通常用于将开发分支合并回主分支。

bash 复制代码
git merge <branch_name>

示例:

bash 复制代码
git checkout main
git merge feature-login

13. 解决冲突

如果在合并过程中出现冲突,Git会标记冲突的文件。需要手动解决这些冲突,编辑文件以保留需要的更改。

示例冲突标记:

复制代码
<<<<<<< HEAD
当前分支的更改
=======
合并分支的更改
>>>>>>> feature-login

解决冲突后,标记冲突已解决并提交更改:

bash 复制代码
git add <resolved_file>
git commit -m "解决冲突"

14. 删除分支

删除一个不再需要的分支

bash 复制代码
git branch -d <branch_name>

示例:

bash 复制代码
git branch -d feature-login

强制删除一个分支(即使它未被合并)

bash 复制代码
git branch -D <branch_name>

15. 远程仓库管理

添加一个新的远程仓库

bash 复制代码
git remote add <remote_name> <remote_url>

示例:

bash 复制代码
git remote add origin https://github.com/username/repo.git

查看所有配置的远程仓库

bash 复制代码
git remote -v

示例输出:

复制代码
origin  https://github.com/username/repo.git (fetch)
origin  https://github.com/username/repo.git (push)

移除一个远程仓库

bash 复制代码
git remote remove <remote_name>

示例:

bash 复制代码
git remote remove origin

16. 标签管理

标签用于标记特定的提交,通常用于发布版本。

创建一个标签

bash 复制代码
git tag <tag_name>

示例:

bash 复制代码
git tag v1.0

推送标签到远程仓库

bash 复制代码
git push origin <tag_name>

示例:

bash 复制代码
git push origin v1.

0

查看所有标签

bash 复制代码
git tag

删除一个本地标签

bash 复制代码
git tag -d <tag_name>

示例:

bash 复制代码
git tag -d v1.0

删除一个远程标签

bash 复制代码
git push origin --delete <tag_name>

示例:

bash 复制代码
git push origin --delete v1.0
相关推荐
不是万能的豆学长2 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
库库的数据库笔记8 小时前
国产信创数据库的MySQL兼容性深度对比解析
大数据·数据库·mysql·oceanbase·政务
Elastic 中国社区官方博客9 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
珠海西格电力11 小时前
零碳园区管理系统的性能评估体系的行业标准
大数据·网络·人工智能·物联网·机器学习·架构·能源
杨先生哦11 小时前
SOC告警研判实战:海量告警降噪、误报甄别、内网风险处置全流程(上岗必用)
大数据
一线数智12 小时前
朱鹰:人的判断力,比算力更重要
大数据·人工智能
Kimnol12 小时前
我的第一次 Git 贡献:从 fork 到合并 PR #3130
git
用户36105886261212 小时前
Flink ResourceManager启动流程源码深度剖析:从ClusterEntrypoint到Slot分配的完整链路
大数据
用户36105886261213 小时前
Flink ApplicationMaster启动流程源码深度剖析:从YARN提交到JobMaster启动的完整链路
大数据·flink
初心未改HD14 小时前
DSH Skill开发实战:SKILL.md是给LLM看的操作手册,不是给人看的README,踩了4个坑
java·大数据·开发语言