Git项目管理——Git常用命令汇总(五)

简介: Git项目管理——Git常用命令汇总(五)

一、配置Git

1.1 设置本地的用户名和用户邮箱

这两条命令是用来配置Git用户信息的,它们会将用户名和用户邮箱设置为Git配置的一部分。

git config --global user.name "teduweb"            //(用户名)
git config --global user.email "web@tedu.com"      //(用户邮箱)
  1. git config --global user.name "teduweb": 这条命令设置全局用户名为"teduweb"。--global标志表示这个用户名会被应用到这台计算机上所有的Git仓库。如果你没有为特定的Git仓库设置局部用户名,Git会使用这个全局用户名。
  2. git config --global user.email "web@tedu.com": 这条命令设置全局用户邮箱为"web@tedu.com"。同样,--global标志表示这个邮箱地址会被应用到这台计算机上所有的Git仓库。这个邮箱地址用于关联你的提交操作到你的身份,通常也是服务如GitHub或GitLab用来关联提交到具体用户的方式。

       这些设置非常重要,因为每次你进行提交(commit)时,Git都会使用这些用户信息来标记谁做了这些改动。这样,团队中的其他成员就可以看到每个改动是谁做的,同时也允许你的工作被正确地归属到你名下。

1.2 要查看Git配置信息

       运行git config --list命令可以显示所有Git配置级别的当前设置,包括本地、全局和系统级别的配置。这是查看所有当前Git配置的快捷方式,可以帮助你了解Git是如何配置的,以及可能需要调整哪些设置。

git config --list
  1. 本地配置:针对特定仓库的配置,存储在项目目录下的.git/config文件中。
  2. 全局配置:适用于当前用户在本机上的所有仓库,配置存储在用户主目录下的配置文件中,例如Linux和macOS上的~/.gitconfig或~/.config/git/config文件,以及Windows上的C:\Users\<用户名>\.gitconfig。
  3. 系统配置:适用于系统上所有用户的所有仓库,配置文件通常位于/etc/gitconfig(Linux或macOS)或C:\ProgramData\Git\config(Windows)。

       当你运行git config --list命令时,它会列出所有当前的配置,包括用户名、邮箱、别名等设置。如果相同的配置项在不同的配置级别中被设置了不同的值,Git会按照以下的优先级来决定使用哪个值:本地 > 全局 > 系统。这意味着本地配置会覆盖全局和系统配置,全局配置会覆盖系统配置。

如果你只想查看特定级别的配置,可以使用以下命令:

  • git config --local --list:仅显示当前仓库的配置。
  • git config --global --list:仅显示当前用户的全局配置。
  • git config --system --list:仅显示适用于所有用户的系统级别配置。
  • git config user.name:仅查看特定的配置项,例如用户名
  • git config user.email:仅想查看电子邮件配置

       请注意,出于安全原因,某些配置信息(如密码)可能不会直接显示在git config --list的输出中。

1.3 初始化Git仓库

  git init 是一个Git命令,用于在当前目录中初始化一个新的Git仓库。执行这个命令后,Git会在当前目录下创建一个名为 .git 的子目录,其中包含了初始化的Git仓库所必需的所有文件和目录结构。

git init

1.4 博客详解:

Git项目管理——仓库概述(一)-CSDN博客

二、提交项目和版本回退

2.1 常看当前工作目录的状态

 git status 是一个Git命令,用于显示Git仓库中当前工作目录的状态。它是查看仓库中哪些文件处于暂存状态、哪些文件有更改但还没有暂存,以及哪些文件还没有被Git跟踪(即新文件)的非常有用的命令。

git status

2.2 往暂存区中添加

 git add . 是一个Git命令,用于将当前目录(包括所有子目录)下的所有更改(包括新文件、修改过的文件和删除的文件)添加到Git的暂存区。这个命令中的.表示当前目录。

git add .

当你执行git add .时,Git会执行以下操作:

  1. 跟踪新文件:如果当前目录中有任何未被Git跟踪的新文件,git add .会将这些文件添加到暂存区,使它们准备好被包含在下一个提交中。
  2. 暂存修改的文件:对于已经存在于Git仓库中但被修改过的文件,git add .会将这些修改添加到暂存区。
  3. 暂存删除的文件:如果文件被删除,git add .会将这个删除操作添加到暂存区,以便在提交时记录这个删除。
  4. 忽略.gitignore文件:git add .会忽略那些在.gitignore文件中指定的应该被忽略的文件和目录。

       使用git add .是一个快速将所有更改添加到暂存区的方法,尤其是当你想要提交当前目录下的所有更改时。然而,这也意味着你可能会不小心添加一些不打算提交的文件,因此在使用这个命令时要小心。

       在执行git add .之后,你可以使用git status来查看哪些文件已经被添加到暂存区,以及哪些文件还没有被添加。然后,你可以使用git commit来提交这些暂存的更改到版本历史。

2.3 添加到本地仓库

 git commit 是 Git 版本控制系统中的一个核心命令,用于将更改记录(commit)到你的本地仓库的历史记录中。在你使用 git add 命令将更改添加到暂存区之后,你就可以使用 git commit 来实际保存这些更改到仓库中。

       当你执行 git commit -m "提交说明" 时,-m 参数后面跟随的是本次提交的消息,这个消息应该清晰准确地描述你所做的更改,以便其他协作者(包括未来的你)能够理解这次提交的目的和内容。

git commit -m "提交说明"
  • git commit: 这是 Git 命令,用于创建一次新的提交。
  • -m: 这是一个命令行选项,用于指定后面紧跟的是一次提交的消息。
  • "提交说明": 这部分是你应该替换成具体描述的地方。提交说明应该是一段简短但描述性的文本,用于记录这次更改的主要信息。

例如,如果你修改了一个名为 index.html 的文件,并且更改了页面的标题,你的提交信息可能会是这样的:

git commit -m "Update page title in index.html"

       此命令将创建一个新的提交,包含所有你已经用 git add 添加到暂存区的文件的更改,并且这个提交会带有一个消息 "Update page title in index.html"。

2.4 查看提交日志

  git log 是一个非常有用的 Git 命令,它允许你查看 Git 仓库的提交历史。这个命令显示了一系列提交(commits),其中包括每个提交的唯一识别码(SHA-1哈希)、作者的信息、提交日期以及提交消息。

git log
  • git log -n <limit>: 显示最近的 <limit> 条提交。
  • git log --oneline: 显示每个提交的信息在一行内,通常只包含哈希的前几位和提交消息。
  • git log --graph: 以图形的方式展示分支和合并历史。
  • git log --author="Author Name": 只显示特定作者的提交。
  • git log --since=2.weeks: 列出最近两周内的提交。
  • git log --pretty=format:"%h - %an, %ar : %s":按特定格式显示日志
  •  git log --after="YYYY-MM-DD":在特定日期之后的提交
  • git log --grep="<keyword>": 搜索提交信息中包含特定关键字的提交

2.5 版本回退

  git reset --hard <commit> 是一个强有力的 Git 命令,它用于将当前分支的 HEAD(即当前分支的最新提交)重置到指定的提交 <commit>,并且会重置暂存区和工作目录以匹配那个提交。这里的 <commit> 指的是你想要回退到的目标提交的哈希值(版本ID号)。

       要注意的是,使用 --hard 选项会导致工作目录中的所有未提交的更改和暂存的更改都被清除,换句话说,所有在 <commit> 之后的更改都将丢失。这是一个不可逆的操作,因此在执行它之前,你需要确保不会因此而丢失重要的数据。

git reset --hard commit  //这里的commit是版本id号
  1. HEAD移动:这个命令首先将当前分支的HEAD指针移动到指定的 <commit>。从此处开始,该分支的最新提交现在是该 <commit>。
  2. 暂存区重置:接下来,暂存区(即索引或缓存)被更新,以便所有文件的状态都匹配到了在 <commit> 中的状态。这意味着所有在 <commit> 后被暂存的更改都将丢失。
  3. 工作目录重置:最后,工作目录中的文件也会被更新,以确保它们的内容匹配到 <commit> 中的内容。此操作会删除所有 <commit> 之后的更改。

2.6 博客详解:

Git项目管理——提交项目和版本回退(二)-CSDN博客

三、分支操作

  git branch 命令在 Git 中被用于多种与分支相关的操作。它可以列出、创建、删除分支,以及执行其他分支管理的任务

git branch

3.1 列出分支:

       只输入 `git branch` 会列出你的本地仓库中所有的分支。当前分支会被标记并以星号 (*) 高亮显示。

       使用 `git branch -a` 可以查看本地和远程追踪分支。

3.2 创建分支:

       执行 `git branch <branch-name>` 可以基于当前的 HEAD 创建一个新的分支。

3.3 删除分支:

        `git branch -d <branch-name>` 用于删除本地分支。这个命令会有安全检查,只允许删除已经被合并的分支。

       `git branch -D <branch-name>` 强制删除一个分支,即使它包含未合并的更改。

3.4  重命名分支:

       使用 `git branch -m <old-name> <new-name>` 可以重命名分支。

3.5 查看分支:

       `git branch -v` 会列出每个分支的最后一次提交。

       `git branch --merged` 列出所有已经合并到当前分支的分支。

       `git branch --no-merged` 列出所有尚未合并到当前分支的分支。

3.6 切换分支:

git checkout new-feature

       可以使用 git checkout new-feature 命令。这将会更新你的工作目录以匹配 new-feature 分支的内容,同时也会更新 Git 的 HEAD 指针来指向该分支,意味着任何新的提交都将会被作为这个分支的一部分。

3.7 合并分支:

 git merge feature-branch 命令用于将指定的分支 feature-branch 合并到当前分支。执行这个命令时,Git 会尝试将 feature-branch 分支上的更改与当前分支的最新提交进行合并。

       1.确保你在目标分支上:在执行合并之前,确保你当前所在的分支是你想要合并到的目标分支。例如,如果你想要将 feature-branch 合并到 main 分支,你需要先切换到 main 分支:

git checkout main

       2.执行合并:使用 git merge 命令来合并 feature-branch

git merge feature-branch

       3.解决冲突(如果存在): 如果 feature-branch 和当前分支有冲突(即它们修改了相同的文件的相同部分),Git 会暂停合并过程并提示你解决这些冲突。你需要手动编辑这些文件来解决冲突,然后使用 git add 命令标记这些文件为已解决,最后使用 git commit 来完成合并。

       4.完成合并: 如果没有冲突,或者冲突已经解决,Git 会自动创建一个新的合并提交,将 feature-branch 的更改集成到当前分支。

       5.清理:合并完成后,你可能想要删除 feature-branch 分支(如果不再需要):

git branch -d feature-branch

3.8 博客详解:

Git项目管理——分支(三)-CSDN博客

四、远程仓库:

4.1 向远程仓库推送

       在Git中,git push -u 远程仓库地址 分支名称 是一个用于将本地分支推送到远程仓库并设置上游分支的命令。这个命令通常在你第一次推送本地分支到远程仓库时使用,以便于后续的推送和拉取操作更加简便。

git push -u 远程仓库地址 分支名称
  • git push: 这是Git的基本命令之一,用于将本地仓库的更改推送到远程仓库。
  • -u: 这是一个选项,代表“上游”(upstream)。当你使用-u选项时,Git会设置一个跟踪关系,即本地分支与远程分支之间的关联。这样,你之后可以使用git push和git pull命令而不需要指定远程仓库和分支名称,Git会默认使用这个关联的分支。
  • 远程仓库地址: 这是远程仓库的URL或名称。例如,如果远程仓库在GitHub上,这可能是https://github.com/username/repository.git或简写为origin。
  • 分支名称: 这是你想要推送的本地分支的名称。例如,master、main、feature/new-feature等。
  1. 将本地分支feature/new-feature的更改推送到远程仓库origin。
  2. 在远程仓库origin上创建一个同名的分支feature/new-feature(如果它还不存在)。
  3. 设置本地分支feature/new-feature跟踪远程分支origin/feature/new-feature。

4.2 博客详解:

Git项目管理——远程仓库(四)-CSDN博客

五、常用命令简介:

  1. git init
  • 初始化一个新的Git仓库。在项目目录中运行此命令会创建一个.git子目录,其中包含仓库的所有必要文件。
  • 示例:git init
  1. git clone [url]
  1. git add [file]
  • 将文件的更改添加到暂存区,准备提交。
  • 示例:git add file.txt
  1. git commit -m "message"
  • 提交暂存区的更改到本地仓库,并附带一条描述性的提交消息。
  • 示例:git commit -m "Add new feature"
  1. git status
  • 显示工作目录和暂存区的状态,包括哪些文件被修改了,哪些文件被添加到了暂存区。
  • 示例:git status
  1. git push [remote] [branch]
  • 将本地分支的更改推送到远程仓库。
  • 示例:git push origin main
  1. git pull [remote] [branch]
  • 从远程仓库拉取更改并合并到当前分支。
  • 示例:git pull origin main
  1. git branch
  • 列出、创建或删除分支。
  • 示例:git branch 列出所有分支。
  • 示例:git branch new-feature 创建一个新分支。
  1. git checkout [branch]
  • 切换到指定的分支。
  • 示例:git checkout new-feature
  1. git merge [branch]
  • 将指定分支的更改合并到当前分支。
  • 示例:git merge new-feature
  1. git log
  • 查看提交历史,包括每个提交的作者、日期和消息。
  • 示例:git log
  1. git diff
  • 显示工作目录和暂存区之间的差异,或者两个提交之间的差异。
  • 示例:git diff 显示工作目录和暂存区之间的差异。
  1. git reset [commit]
  • 撤销指定提交之后的所有提交,并将更改保留在本地工作目录。
  • 示例:git reset HEAD~1 撤销上一次提交。
  1. git stash
  • 临时保存工作目录和暂存区的更改,以便切换到其他分支进行工作。
  • 示例:git stash 保存当前更改。

📝大佬觉得本文有所裨益,不妨轻点一下👍给予鼓励吧!

❤️❤️❤️本人虽努力,但能力尚浅,若有不足之处,恳请各位大佬不吝赐教,您的批评指正将是我进步的动力!😊😊😊

💖💖💖若您认为此篇文章对您有所帮助,烦请点赞👍并收藏🌟,您的支持是我前行的最大动力!

🚀🚀🚀任务在默默中完成,价值在悄然间提升。让我们携手共进,一起加油,迎接更美好的未来!🌈🌈🌈


目录
相关文章
|
13天前
|
缓存 Java Shell
[Git]入门及其常用命令
本文介绍了 Git 的基本概念和常用命令,包括配置、分支管理、日志查看、版本回退等。特别讲解了如何部分拉取代码、暂存代码、删除日志等特殊需求的操作。通过实例和图解,帮助读者更好地理解和使用 Git。文章强调了 Git 的细节和注意事项,适合初学者和有一定基础的开发者参考。
35 1
[Git]入门及其常用命令
|
1月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
107 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
17天前
|
开发工具 git 开发者
|
17天前
|
开发工具 git 开发者
提升Git效率:掌握这5个高级命令
【10月更文挑战第17天】
37 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`) 等,帮助开发者提升效率。无论是初学者还是资深开发者,都能从中受益。
|
2月前
|
开发工具 git 开发者
GIT命令的综合总结
Git的学习曲线可能比较陡峭,但熟练掌握这些命令后,你将能够更加高效地管理和协作你的项目。希望这份指南能帮助你成为Git的高效用户。
49 7
|
2月前
|
开发工具 git
深入理解Git中的git pull和git fetch命令
深入理解Git中的git pull和git fetch命令
93 0