GIT 命令“从初学到专业”完整进阶指南
创始人
2024-03-01 21:23:38
0

之前的教程中,我们已经学习了在机器上安装 git。本教程,我们将讨论如何使用 git,比如与 git 一起使用的各种命令。所以我们开始吧。

设置用户信息

这应该是安装完 git 的第一步。我们将添加用户信息 (用户名和邮箱),所以当我们提交代码时,会产生带有用户信息的提交信息,这使得跟踪提交过程变得更容易。要添加用户信息,命令是 git config

$ git config --global user.name "Daniel"
$ git config --global user.email "dan.mike@xyz.com"

添加完用户信息之后,通过运行下面命令,我们将检查这些信息是否成功更新。

$ git config --list

我们应该能够看到输出的用户信息。

GIT 命令

新建一个仓库

为了建立一个新仓库,运行如下命令:

$ git init

查找一个仓库

为了查找一个仓库,命令如下:

$ git grep "repository"

与远程仓库连接

为了与远程仓库连接,运行如下命令:

$ git remote add origin remote_server

然后检查所有配置的远程服务器,运行如下命令:

$ git remote -v

克隆一个仓库

为了从本地服务器克隆一个仓库,运行如下代码:

$ git clone repository_path

如果我们想克隆远程服务器上的一个仓库,那克隆这个仓库的命令是:

$ git clone repository_path

在仓库中列出分支

为了检查所有可用的和当前工作的分支列表,执行:

$ git branch

创建新分支

创建并使用一个新分支,命令是:

$ git checkout -b 'branchname'

删除一个分支

为了删除一个分支,执行:

$ git branch -d 'branchname'

为了删除远程仓库的一个分支,执行:

$ git push origin:'branchname'

切换到另一个分支

从当前分支切换到另一个分支,使用

$ git checkout 'branchname'

添加文件

添加文件到仓库,执行:

$ git add filename

文件状态

检查文件状态 (那些将要提交或者添加的文件),执行:

$ git status

提交变更

在我们添加一个文件或者对一个文件作出变更之后,我们通过运行下面命令来提交代码:

$ git commit -a

提交变更到 head 但不提交到远程仓库,命令是:

$ git commit -m "message"

推送变更

推送对该仓库 master 分支所做的变更,运行:

$ git push origin master

推送分支到仓库

推送对单一分支做出的变更到远程仓库,运行:

$ git push origin 'branchname'

推送所有分支到远程仓库,运行:

$ git push -all origin

合并两个分支

合并另一个分支到当前活动分支,使用命令:

$ git merge 'branchname'

从远端服务器合并到本地服务器

从远端服务器下载/拉取变更到到本地服务器的工作目录,运行:

$ git pull 

检查合并冲突

查看对库文件的合并冲突,运行:

$ git diff -base 'filename'

查看所有冲突,运行:

$ git diff

如果我们在合并之前想预览所有变更,运行:

$ git diff 'source-branch' 'target-branch' 

创建标记

创建标记来标志任一重要的变更,运行:

$ git tag 'tag number' 'commit id' 

通过运行以下命令,我们可以查找 commit id :

$ git log

推送标记

推送所有创建的标记到远端服务器,运行:

$ git push -tags origin

恢复做出的变更

如果我们想用 head 中最后一次变更来替换对当前工作树的变更,运行:

$ git checkout -'filename'

我们也可以从远端服务器获取最新的历史,并且将它指向本地仓库的 master 分支,而不是丢弃掉所有本地所做所有变更。为了这么做,运行:

$ git fetch origin
$ git reset -hard master

好了,伙计们。这些就是我们使用 git 服务器的命令。我们将会很快为大家带来更有趣的教程。如果你希望我们对某个特定话题写一个教程,请通过下面的评论箱告诉我们。像往常一样, 欢迎您的各种意见和建议。


via: http://linuxtechlab.com/beginners-to-pro-guide-for-git-commands/

作者:Shusain 译者:liuxinyu123 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

git

相关内容

飞书 CLI 开源:AI ...
钛媒体App 3月28日消息,飞书官方在 GitHub 开源了命令...
2026-03-28 19:53:17
“开源之都”让全球极客“非...
编者按 一座卓越的全球城市,必定有让人“非来不可”的磁场。全球开发...
2026-03-28 11:56:17
美团开源5677亿参数大模...
IT之家 3 月 21 日消息,美团现已开源 LongCat-Fl...
2026-03-21 23:34:20
美团AI浏览器陷“抄袭”争...
(文/刘媛媛 编辑/周远方) 3月2日,美团旗下备受瞩目的AI团...
2026-03-03 20:19:57
【刚刚,OpenClaw登...
【刚刚,OpenClaw登顶GitHub软件星标历史第一!已超越L...
2026-03-03 16:48:58
技术速递|2026 年开源...
作者:Dylan Birtolo 排版:Alan Wang 让我们...
2026-02-27 21:49:02

热门资讯

2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
KDE4.11 Beta1 正...   KDE 项目工作组刚刚发布了 KDE Software Compilation 4.11 Bet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
使用时间序列数据,用开源工具助... InfluxData 是一个开源的时间序列数据库平台。下面介绍了它是如何被用于边缘应用案例的。收集到...
OpenWrt 21.02 发... OpenWrt 社区宣布了该发行版的最新稳定版本:OpenWrt 21.02。补充一句,OpenWr...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
硬核观察 #1249 LG 洗... #1 LG 洗衣机每天上传近 4GB 的数据?一个名为 Johnie 的 LG 洗衣机用户发现,他的...