Git常用命令的使用

​一. 简介

前面一篇文章简单了解了 Git涉及的几个区域,主要包括 工作区,暂存区,本地仓库,远程仓库副本,远程版本库。

本文简单学习一下,如何使用 git命令,从 gerrit下拉代码,创建分支,或者将代码(暂时)存入栈区,或者向 gerrit提交代码等等一些操作。

二. git 创建、切换分支,提交代码的常用命令

1. git 查看命令

(1) git status 命令:用于查看 Git 仓库当前状态的命令。

git status 命令可以列出当前目录所有还没有被 git 管理的文件,和被 git管理且被修改但是还未提交(git commit)的文件。

git status命令不显示已经 commit 到项目历史中去的信息。看项目历史的信息要使用 git log命令 。

(2) git log 命令:查看远端代码的历史提交记录
(3) git diff 命令:git diff 命令用于展示Git仓库中文件的差异。

它可以比较工作目录中的文件与最后一次提交的差异,也可以比较两个提交之间的差异,甚至是两个分支之间的差异。过git diff 命令,开发者可以清晰地看到代码的变更,这对于代码审查和合并冲突的解决非常有帮助。

(4) git branch 命令:查看当前创建的所有分支 (或者 git branch -a 命令)

2. 从远程仓库拉去工程代码

(1) 如果是第一次从 远程仓库拉取代码工程,则执行如下命令:

复制代码
git clone "远程仓库中工程的地址"

git clone 后面跟的是 代码工程所在的远程仓库的地址。

(2) 如果本地已经拉取过一次代码工程,则执行如下命令:

复制代码
git pull

git pull 命令用于从远程仓库获取最新的版本,并合并到当前分支。 使用git pull命令的一般用法是:

复制代码
git pull <远程仓库名称> <远程分支名称>

例如,如果你要从名为 origin的远程仓库的master分支获取最新的版本并合并到当前分支,则可以使用以下命令:

复制代码
git pull origin master

默认情况下,git pull命令会自动合并远程分支和当前分支。如果存在冲突,需要手动解决冲突。

另外,git pull命令还支持一些选项,例如**--rebase 选项** 用于将本地提交放在远程提交之后,--ff-only选项用于只执行快进合并等。可以通过运行**git pull --help**命令获取更多关于git pull命令的详细信息和选项用法。

3. 将代码暂存入本地仓库

有时候因为本地有几个工程代码,因为工作任务的紧急程度,会暂时延后一些代码功能的实现,则需要将当前进行的工作暂存,在其他远端工程版本的基础上进行一些功能的开发,就需要当新的工程代码拉取到当前工作目录下。

(1) git stash 命令

将工程代码暂存入本地仓库,此时,可执行 "git checkout 分支名" 命令来切换分支,。

(2) git stash list 命令:

例如,运行 git stash list 命令:

复制代码
weiying@machine-user-weiying-6d986c4d7c-bwk95:~/works/Project/TestPlat$ git stash list

stash@{0}: On pvt: i2c_device test

可以看到,我的本地工作区的仓库只有一个工程代码,这条为stash@{0}: On pvt: psensor test

(3) git stash save "标签名" 命令:

在当前的仓库中创建一个位置,准备存储待存储的工程代码(即当前的工程代码)。

例如,git stash save "i2c_device" 命令,就是在本地仓库中创建一个名字为 i2c_device的位置,来存放待存放的代码工程。

(3) git stash pop 命令:

用于恢复之前暂存的工作,并将暂存的内容应用到当前的工作目录中。执行该命令后,暂存的内容会从暂存栈中移除。

但是, git stash pop 命令使用的前提是,仓库中只有一个工程代码!!!

如果本地仓库存储了几个工程,则需要另外的命令进行恢复:git stash apply + stash@{某个工程的序号}

git stash apply + stash@{某个工程的序号}: 将仓库中某一工程代码恢复到当前的工程目录下。

例如,如下命令就是将 i2c_device 这个工程代码恢复到当前的工作目录下。

复制代码
weiying@machine-user-weiying-6d986c4d7c-bwk95:~/works/Project/TestPlat$ git stash list
stash@{0}: On pvt: i2c_device test

可以看到,我的本地工作区的仓库只有一个工程代码,这条为stash@{0}: On pvt: psensor test。

3. 创建分支、切换分支

git branch +分支名:在自己的本地创建一个分支

git checkout +分支名:切换到该分支下。

git checkout -b +分支名:创建分支,并切换到该分支下。

git branch / git branch -a 命令 :查看本地下的所有分支。

下一篇继续学习 git 常用命令的使用。

相关推荐
Winlifes5 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理6 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123456 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s6 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人7 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人7 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
荔枝梅梅7 天前
新手程序员 SSH 第一课:从 Git 仓库连接失败理解 SSH 协议与密钥配置
git
玄芯散人7 天前
【筑基·057】Git代码时光机:版本控制入门到分支管理
git·版本控制·嵌入式开发
szephyr7 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
一木 之林7 天前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器