git常用命令

Git基础操作与远程仓库管理指南
本文详细介绍了Git的基本操作,包括创建和管理本地仓库、提交和撤销代码、查看文件状态和历史、拉取远程数据。此外,还涵盖了处理远程仓库的操作,如添加、删除和修改远程仓库,以及处理权限问题的方法,如生成GitHubtoken和SSH密钥。同时,文章讲解了分支的创建、切换、合并和删除,以及如何解决合并时的冲突。

目录

一、本地仓库的基本操作

1.1 创建git本地仓库

1.2 修改仓库内文件状态

1.3 提交缓存状态的代码到当前所在分支

1.4 已经提交了代码但是想取消提交

1.5 查看文件的状态

1.6 查看文件修改具体内容

1.7 查看历史提交信息

1.8 从远程仓库拉取/抓取数据

git fetch 远程仓库名

git pull

1.9 临时贮藏git stash

1.10 变基rebase 

二、远程仓库的操作

2.1 添加远程仓库

2.2 查看全部远程仓库

2.3 查看某个远程仓库的具体信息

2.4 删除远程仓库

2.5 修改远程仓库的别名

2.6 把本地仓库的分支代码提交到远程仓库的某个分支 

三、本地代码提交遇到无权限问题

3.1 在github生成临时token

3.2 在本地生成ssh密钥把公钥上传到github

 四、分支branch操作

4.1 分支的概念

4.2 怎么确认自己现在哪个分支上

git log

git status 

git branch --list和git branch 

git branch -a

4.3 创建新的分支

在本地创建新的分支

在远程创建分支

4.4 切换分支

4.5 新建一个分支并且切换到该分支

4.6 删除分支

删除本地仓库的分支

删除远程仓库的分支

4.7 查看全部分支的提交记录

4.8 合并到当前分支

4.9 推送分支

五、补充资料链接


一、本地仓库的基本操作

首次使用git时可以使用下面2个命令配置用户名和邮箱:

$git config --global user.name "laowang"
$git config --global user.email laowang@example.com

1.1 创建git本地仓库

创建git工程有2种方式,一种是在本地自建git仓库进行代码编写,一种是从远程拉取别人的项目到本地。

自建git仓库:

$git init

从远程拉取代码:

git clone https://github.com/HuiMengYouXian/excel_analysis.git

1.2 修改仓库内文件状态

git仓库里的每个文件都有一个状态,自建的git仓库里面的文件状态都是【未跟踪】,只有把它变为【暂存】状态后,后续生成的代码版本里才能有这个文件/目录,使用命令:

$git add <文件名>
或者
$git add -A 把文件夹里全部文件都变为【暂存】态

如果想把一个已跟踪的文件/目录变为【未跟踪】状态,使用命令:

$git rm <文件名>   

或者

$git rm --cache <文件名>  让这个文件/目录保留在代码目录里但是不被跟踪

代码修改后要把文件设置成【暂存】状态,使用命令:

$git add <文件名> 
或者 
$git add -A

如果想取消这个已修改文件的缓存状态,使用命令:

$git reset HEAD <文件名>

1.3 提交缓存状态的代码到当前所在分支

把【缓存】状态的文件提交到本地仓库当前所在的分支,使用命令:

$git commit -m "代码修改描述信息"

提交后代码版本会更新,那么在新的代码版本里这些文件又变成了【未修改】状态

 关于git commit的一些知识点:

1.4 已经提交了代码但是想取消提交

如果已经提交了代码但是想取消提交,使用命令:

$git reset head~ --soft

参数解释:

head  指的是当前的提交

head~ 指上一次提交

head~3 指的是倒数第三次的提交

--soft  表示只是撤销了git commit这个操作,之前的git add还是有效的,如果不加--soft则表示git commit和 git add 都撤销了

虽然执行git reset head~ --soft,但是本地修改过的代码还是在的,可以继续编辑、暂存和提交

--hard 使用这个参数就表示撤销了git add 和git commit,而且本地修改过的代码也被删除了-----不要用这个参数

1.5 查看文件的状态

怎么查看文件的状态,使用命令:

$git status 查看哪些文件没有暂存?哪些文件已暂存但是没有提交?我目前是在哪个分支下呢?

没有暂存的文件会用红色字体显示,已暂存但没提交的文件会用绿色字体显示

对于没有暂存的文件可以使用命令:

$git commit -a -m "代码修改描述信息" 直接进行提交
也可以写成
$git commit -am "代码修改描述信息"

1.6 查看文件修改具体内容

当文件修改后未被暂存(没有执行git add),如果想看下文件具体被修改的内容,使用命令:

$git diff

1.7 查看历史提交信息

查看历史提交信息,使用命令:

$git log
或者
$git log --pretty=oneline  把每条提交信息一行展示
或者
$git log --pretty=format:"%h-%an,%ar:%s"   按照指定格式输出提交历史信息
或者
$git log --graph  用图表的方式输出历史提交信息

git log命令打印如下内容:

git log --pretty=oneline打印如下内容

 git log --pretty=format:"%h-%an,%ad:$s"

提交信息里面的commit值是唯一的

1.8 从远程仓库拉取/抓取数据

git fetch 远程仓库名

作用是从远程获取代码库

git fetch 远程仓库别名  ————> 从远程仓库拉取我本地仓库没有的数据

git merge 远程仓库别名/本地仓库的分支名  ————> 将服务器上的任何更新合并到本地仓库的指定分支

git pull

用于从远程获取代码并合并本地某个分支

git pull <远程仓库别名> <远程分支名>:<本地分支名>

如果远程分支是与本地当前所在分支合并,则可写成:

git pull <远程仓库别名> <远程分支名>

1.9 临时贮藏git stash

git stash或者git stash push

适用于你代码写到一半,但是需要切换到别的分支,比如正在开发需求,临时需要修个bug,此时不建议使用git commit -m "说明信息"先进行提交。

上面内容是我修改了test.md,使用git stash后把修改的内容暂时存储了,如果此时你打开test.md会发现里面没有刚才改动的内容,这时可以正常去切换分支了。 

 当你修复完bug需要回到原来的分支继续开发时,使用命令:git stash apply恢复之前的改动即可,可以看到我之前写的内容恢复了

 如果执行git stash后没有执行git st

<think>我们被要求生成一个关于Git常用命令的汇总列表。根据用户的要求,我们需要提供结构清晰的回答,并尽量保证真实可靠。同时,我们参考了站内引用中提供的Git命令信息。根据引用内容,我们可以整理出以下常用命令:1.基本操作(初始化、添加、提交等)2.分支管理3.远程仓库操作4.标签管理5.历史查看与撤销6.其他实用命令(如删除大文件、清理仓库等)我们将按照这些类别来组织命令。注意:由于引用中提供了一些特定问题的解决方案(如删除大文件),我们也会将其作为实用命令的一部分。另外,注意用户要求使用中文回答,并且行内数学表达式使用$...$格式(但本问题不涉及数学表达式,所以忽略),独立公式使用$$...$$格式(同样不涉及)。同时,在回答末尾生成相关问题。我们开始整理Git常用命令汇总:</think>### Git常用命令汇总 以下是Git常用命令分类整理,帮助您高效管理代码版本: #### 1. 仓库初始化与基础操作 ```bash # 初始化新仓库 $ git init # 克隆远程仓库 $ git clone <远程仓库URL> # 查看当前状态 $ git status # 添加文件到暂存区 $ git add <文件名> # 添加单个文件 $ git add . # 添加所有修改 # 提交更改 $ git commit -m "提交说明" ``` #### 2. 分支管理 ```bash # 创建分支 $ git branch <新分支名> # 切换分支 $ git checkout <分支名> $ git switch <分支名> # Git 2.23+推荐方式 # 创建并切换分支 $ git checkout -b <新分支名> $ git switch -c <新分支名> # 合并分支 $ git merge <要合并的分支名> # 删除分支 $ git branch -d <分支名> # 安全删除 $ git branch -D <分支名> # 强制删除未合并分支 ``` #### 3. 远程仓库操作 ```bash # 添加远程仓库 $ git remote add origin <远程仓库URL> # 查看远程仓库 $ git remote -v # 推送到远程仓库 $ git push -u origin <分支名> # 首次推送 $ git push # 后续推送 # 拉取远程更新 $ git pull origin <分支名> $ git pull --rebase origin <分支名> # 变基式拉取 # 删除远程连接 $ git remote rm origin ``` #### 4. 版本回退与撤销 ```bash # 查看提交历史 $ git log $ git log --oneline # 简洁版日志 # 撤销工作区修改 $ git checkout -- <文件名> # 撤销暂存区文件 $ git reset HEAD <文件名> # 版本回退 $ git reset --hard <commit_id> # 彻底回退 $ git reset --soft <commit_id> # 保留修改 # 恢复删除的文件 $ git restore <文件名> # Git 2.23+ ``` #### 5. 标签管理 ```bash # 查看标签 $ git tag # 创建标签 $ git tag <标签名> # 轻量标签 $ git tag -a v1.0 -m "版本说明" # 附注标签 # 推送标签 $ git push origin <标签名> # 删除标签 $ git tag -d <标签名> # 本地删除 $ git push origin :refs/tags/<标签名> # 远程删除 ``` #### 6. 高级维护 ```bash # 清理历史大文件 $ git filter-branch --force --index-filter \ 'git rm -rf --cached --ignore-unmatch <文件名>' \ --prune-empty --tag-name-filter cat -- --all # 回收存储空间 $ git reflog expire --expire=now --all $ git gc --prune=now # 查看仓库大小 $ git count-objects -vH ``` #### 7. 配置相关 ```bash # 设置用户名/邮箱 $ git config --global user.name "用户名" $ git config --global user.email "邮箱" # 查看配置 $ git config --list # 设置默认编辑器 $ git config --global core.editor vim ``` > **最佳实践提示**: > 1. 频繁提交小变更,保持提交记录清晰 > 2. 使用`.gitignore`文件排除无需版本控制的文件 > 3. 重要分支(如main/prod)设置保护规则 > 4. 推送前先执行`git pull --rebase`避免合并提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

甜甜的凉拌苦瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值