Git 常用命令大全

简介: Git 常用命令大全


🚀 Git安装与基础知识学习 🌐

🎯 Git作为一款全球开发者广泛使用的分布式版本控制系统,能够有效帮助团队协作并追踪项目历史版本。接下来,我们将详细展开Git的安装流程、基础命令操作、高级用法以及应对常见问题的方法。

I. 🔧 安装Git

1️⃣ Mac上的安装

  • 通过Homebrew安装💻
  • 首先,确保你的Mac已安装Homebrew,若未安装,打开终端(Terminal)并运行以下命令来安装Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • 安装完成后,利用Homebrew安装Git:
brew install git
  • 直接下载安装包安装📦

2️⃣ Windows上的安装

  • 通过Chocolatey安装💻
  • 对于Windows用户,如果你有Chocolatey包管理器,可以在管理员权限的PowerShell中执行以下命令来安装Git:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco install git
  • 直接下载安装包安装📦
  • 如果你没有Chocolatey,或者希望手动安装,可以从Git官网 https://git-scm.com/download/win 下载安装程序,然后跟随向导一步步完成Git的安装。

II. 📜 Git基础命令

👶 初始化本地仓库

当你在一个新的项目目录下想创建一个新的Git仓库时,只需运行:

git init

这将在此目录下创建一个.git隐藏文件夹,用于存储版本控制的所有信息。

📝 添加文件到暂存区

要将某个文件或所有修改加入到暂存区,以便后续提交,执行:

git add <file>

如果你想一次性添加所有更改,可以使用:

git add .

✅ 提交更改

将暂存区的更改永久记录到版本历史中,需执行提交操作,并附带一条简短明了的提交信息:

git commit -m "描述本次提交的信息"

📡 添加远程仓库

当你需要将本地仓库关联到GitHub或其他远程服务时,需要添加远程仓库地址:

git remote add origin <repository-url>

🚀 推送更改

完成本地提交后,你可以将这些更改推送到远程仓库的指定分支:

git push origin <branch-name>

📥 拉取更新

从远程仓库获取最新的提交并合并到本地,确保你的工作副本是最新的:

git pull origin <branch-name>

📌 分支操作

  • 创建新分支并切换到新分支:
git branch <new-branch-name>
git checkout <new-branch-name>
  • 或者,你可以一步到位地创建并切换新分支:
git checkout -b <new-branch-name>
  • 在你完成特定功能或修复后,需要将分支合并回主分支:
git checkout <main-branch-name>
git merge <new-branch-name>

III. 🧑‍💼 Git高级用法

🕵️‍♂️ 查看提交历史

查看项目的提交历史记录,包括作者、时间戳和提交信息:

git log

还可以结合各种选项定制输出格式。

⏪ 撤销更改

若想撤消最近的一次提交并恢复至提交前的状态:

git reset --hard HEAD^

请注意,此命令会丢弃所有未提交的更改,慎用!

📌 stash暂存

当需要临时清理工作目录,而又不想提交任何未完成的工作时,可以暂存更改:

git stash

待合适时机,可以恢复之前暂存的更改:

git stash pop

🔍 查找差异

比较不同状态下的文件内容差异:

  • 查看工作区和暂存区的差异:
git diff <file>
  • 查看工作区与最近一次提交之间的差异:
git diff HEAD <file>

IV. 💬 常见问题与解决办法

😱 合并冲突

场景:假设Alice和Bob同时修改了同一行代码,Alice先提交,Bob在拉取并试图合并时遇到了冲突。

# Bob在尝试合并时遇到如下错误信息
Auto-merging src/main.js
CONFLICT (content): Merge conflict in src/main.js
Automatic merge failed; fix conflicts and then commit the result.

解决办法

  1. 打开冲突文件src/main.js,你会看到类似下面的冲突标记:
<<<<<<< HEAD
// Alice的修改
function doSomething() {
    // Alice的代码...
=======
// Bob的修改
function doSomething() {
    // Bob的代码...
>>>>>>> Bob's-commit-hash
  1. 根据实际情况,手动编辑这个文件,选择保留哪一方的修改或者融合两者的修改。
  2. 解决完冲突后,将文件添加到暂存区并提交:
git add src/main.js
git commit -m "Resolved merge conflict in main.js"

🤔 丢失提交

场景:不小心执行了 git reset --hardgit rebase 导致最近的提交丢失。

解决办法

  1. 使用 git reflog 查看历史操作记录,找到丢失提交的SHA码。
git reflog
  1. 假设你找到了丢失的提交SHA码为 abc123def456,可以通过 git cherry-pick 将该提交复制到当前分支。
git cherry-pick abc123def456

💡 忽略特定文件类型

场景:你不想让Git跟踪项目中的某些文件类型,比如IDE配置文件或构建产物。

解决办法

  1. 在项目根目录下创建或编辑.gitignore文件,列出你想要忽略的文件类型或文件路径。
*.idea/
build/
*.log
  1. 已经被Git跟踪的文件需要先从索引中移除,才能开始忽略。
git rm --cached <file-you-want-to-ignore>
git commit -m "Remove <file-you-want-to-ignore> from version control"

以上只是Git日常使用中的一部分常见问题及其解决方案,每个问题都有可能随着具体环境和需求的不同而变化。掌握Git的核心概念和常用命令,并在实践中不断积累经验,才能更好地应对各种复杂情况。

目录
相关文章
|
3月前
|
存储 开发工具 git
|
21天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
42 1
[Git]入门及其常用命令
|
3月前
|
开发工具 git
【GIT 第二篇章】GIT常用命令
Git常用命令涵盖初始化、状态管理、提交、分支处理、远程操作等关键流程。`git init`启动本地仓库,`git clone`下载远程仓库。通过`git status`和`git diff`检查工作状态与差异。利用`git add`暂存文件,`git commit`保存更改。借助`git branch`、`git checkout`、`git merge`和`git rebase`管理分支。使用`git fetch`、`git pull`和`git push`同步远程仓库。通过`git reset`、`git revert`和`git checkout`实现版本回退。
71 0
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
116 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
24天前
|
开发工具 git 开发者
|
24天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
42 0
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
无论团队项目还是个人开发,掌握 Git 命令都是必备技能。本文介绍 Git 的基本概念与命令,如初始化仓库 (`git init`)、添加文件 (`git add`)、提交更改 (`git commit`)、检出分支 (`git checkout`)、合并分支 (`git merge`) 等,还分享了高级技巧如查看差异 (`git diff`)、撤销提交 (`git revert`)、修复合并冲突 (`git mergetool`) 和使用别名简化命令 (`git config --global alias.ci commit`)。
|
2月前
|
机器学习/深度学习 Shell 开发工具
Python使用管道执行git命令报错|4-7
Python使用管道执行git命令报错|4-7
|
2月前
|
存储 Linux 开发工具
Git基础命令,分支,标签的使用【快速入门Git】
本文详细介绍了Git版本控制系统的基础概念和常用命令,包括工作区、暂存区和版本库的区别,文件状态的变化,以及如何进行文件的添加、提交、查看状态、重命名、删除、查看提交历史、远程仓库操作和分支管理,还涉及了Git标签的创建和删除,旨在帮助读者快速入门Git。
Git基础命令,分支,标签的使用【快速入门Git】
|
2月前
|
存储 Linux 开发工具
掌握 Git 命令:每个开发者的必备技能
本文介绍 Git 的核心概念,如仓库、提交、分支与合并,并提供了常用命令,如初始化仓库 (`git init`)、提交更改 (`git commit -m &quot;Commit message&quot;`)、拉取 (`git pull`) 和推送 (`git push`) 等。此外,还分享了高级技巧,如撤销提交 (`git revert &lt;commit&gt;`)、交互式暂存 (`git add -i`) 和使用别名简化命令 (`git config --global alias.ci commit`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。