Git 常用命令使用

Git 常用命令使用

背景

写这篇笔记的最重要的原因是:我记不住我需要用的命令!
关于 Git 的使用,包括我自己,会使用 VS 等 IDE 自带的插件,或者用一些可视化的工具来避免使用命令行的方式,这里推荐一些受欢迎的Git可视化工具:

  • SourceTree:SourceTree 是一款免费的 Git 和 Mercurial 客户端,提供了直观的界面和丰富的功能,支持 Windows 和 macOS 系统。
  • GitKraken:GitKraken 是一款功能强大的跨平台 Git 客户端,提供了直观的图形界面、快速且流畅的操作体验,支持 Windows、macOS 和 Linux。
  • TortoiseGit:TortoiseGit 是一款集成到 Windows 资源管理器的 Git 客户端,通过右键菜单提供了方便的操作选项。
  • GitHub Desktop:GitHub Desktop 是由 GitHub 官方推出的桌面客户端,提供了简单直观的界面,支持 Windows 和 macOS 系统。

这些工具都提供了可视化的操作界面,使得使用 Git 更加便捷和直观。根据个人喜好和需求,你可以选择适合自己的工具进行使用。

为什么我会要用 Git 命令行

在我的工作中,主要可以分为代码文档两类,代码和文档不一定都在一个仓库中,有的仓库包含代码及对应的文档,有的仓库就是简单的文档,没有代码。
代码仓库文件结构

目前我主要用 VS 进行开发工作,如果是代码的更新、推送,那么我会果断的选择 IDE 自带的 Git 插件,这样开发时,代码的暂存、提交、推送、合并等操作都极其的方便,而且解决冲突什么的都很方便;但是,如果一个仓库只是存了文档、或者只更新了文档,那么这时候这些文档可能包含 md、xls、pdf、visio 等的文件类型,这个时候使用 IDE 就不太方便了(我认为这极其麻烦),我也尝试使用上述提及到的可视化工具,但存在一个很尴尬的问题:同事没有这个工具啊!我不可能要求别人装,也不可推荐给所有人都用,所以当操作别人电脑的时候,没有工具,我只能用命令行,然后记不住命令,你就说这尴尬不!
Git 命令有很多文章都写了,去看别人的还不如看自己的,于是有了本篇笔记,这里主要记录了我自己常用的一些操作场景,不一定全。

基础 Git 命令

以下的举例,远程仓库分支情况如下图所示:
远程仓库

克隆

在克隆存储库时,可以指定分支和不指定分支。

  • 指定分支:只会克隆指定的分支,这可以帮助你节省时间和磁盘空间。
  • 不指定分支:克隆存储库的所有分支。
git clone -b <branch> <url>

<branch>为要克隆的分支名称,缺省时即克隆全部分支;
<url>为存储库的URL.

查看所有分支

查看本地仓库所有分支:

git branch

查看远程仓库所有分支:

git branch -r

创建分支

  • 基于当前签出的分支创建:
git branch <new-branch-name>				-- 创建新分支
git checkout -b <new-branch-name>			-- 创建新分支并签出
  • 基于指定分支创建:
git branch <new-branch-name>	<base-branch-name>				-- 创建新分支
git checkout -b <new-branch-name> <base-branch-name>			-- 创建新分支并签出

<new-branch-name>为新分支的名字
<base-branch-name>为指定分支的名字

  • 基于远程分支创建
    • 将远程分支 fetch 到本地
    • 创建本地分支

例子:

git fetch origin dev-A									-- 从远程仓库 origin 拉取 dev-A 分支的最新状态到本地,但不会自动合并至本地分支
git branch new-branch origin/dev-A			-- 创建一个叫 new-branch 的分支

切换(签出)分支

git checkout <branch-name>

合并分支

将指定分支合并到当前分支:

git merge <branch-name>

更新本地分支

当已经与远程分支之间建立了跟踪关系:

git pull

未建立跟踪关系:

git pull origin <branch-name>

添加文件到暂存区

git add <file-name>				-- 暂存指定文件
git add .						-- 暂存所有

提交代码

提交代码并附带提交消息:

git commit -m "提交xxxx功能"

推送代码

git push

与远程分支建立/取消跟踪关系

将本地分支与远程分支建立联系:

git branch --set-upstream-to=origin/<ori-feature-name> <local-name>"

取消联系:

git branch --unset-upstream <local-name>

<ori-feature-name>为远程分支名字
<local-name>为本地分支的名字,可以省略,省略时认为本地分支是当前分支

使用举例

多人合作开发 dev-A 分支

这种场景应当是比较常见的,其他人改了一些内容并推送至远程分支,这是只需要使用 git pull 命令,将新的提交更新至本地即可。此过程有冲突的话需要解决冲突。

将远程 master 合并到当前分支

git pull origin master

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值