git常用命令
git常用命令速查表
移除本地关联
git remote rm origin // 移除本地关联 git remote add origin git@github.com/example.git // 添加线上仓库 git push -u origin master // 注意:更改后,第一次上传需要指定 origin
关联远程仓库
git remote add origin https://github.com/xienb/NPC.git
创建分支
git branch test //创建新分支test
git checkout test //切换到test分支
git branch //查看分支
git checkout -b demo //创建新分支demo并切换进去
删除分支
#如果分支包含未合并的更改和未推送的提交,则该-d标志将不允许删除本地分支。 git branch -d local_branch_name #-D带有大写-- delete --force字母D(它是 的别名)的标志会强行删除本地分支,无论其合并状态如何。 git branch -D local_branch_name # 删除远程分支 git push remote_name -d remote_branch_name
合并分支
git merge demo //合并demo分支 前提是你要切出demo分支 并在一个分支上进行合并、
放弃合并分支
git merge --abort
p.s rebase 和 merge 的区别?
-
merge
- 通过merge合并分支会新增一个merge commit,然后将两个分支的历史联系起来
- 其实是一种非破坏性的操作,对现有分支不会以任何方式被更改,但是会导致历史记录相对复杂
-
rebase
- rebase会将整个分支移动到另一个分支上,有效地整合了所有分支上的提交
- 主要的好处是历史记录更加清晰,是在原有提交的基础上将差异内容反映进去,消除了 git merge所需的不必要的合并提交
commit之追加修改
git commit --amend命令:
- git commit --amend 作用主要在于:让“本次Amend Commit的提交”覆盖掉最近一次提交的错误信息。并且gitk图形化界面上看不到被覆盖掉的错误信息记录,git log上也看不到被覆盖掉的错误信息记录。
- 如果想要查看“覆盖掉最近一次提交的错误信息”,可以使用git log加强版命令git reflog。如果想跳回“被覆盖掉的错误提交”,可以使用命令git reset --hard "commit_id"。
eg.
本人常用命令流程
1、从已存在的远程分支检出新的分支 并切换到该分支底下
git checkout -b 本地分支名 origin/远程分支名
eg. git checkout -b demo origin/demo
2、创建新的远程分支(或删除远程分支)
git push origin 远程分支名:本地分支名
eg. git push origin demo:demo
也可单独创建远程分支
eg.
git push origin 远程分支名
使用git branch -r 查看远程分支 git branch -a 查看所有分支 git branch 查看本地分支
删除远程分支 git push origin :demo (我比较喜欢的简单方式,推送一个空分支到远程分支,其实就相当于删除远程分支:)
也可以这样 git push origin --delete demo
3、本地分支关联到指定远程分支
git branch --set-upstream-to=<远程主机名>/<远程分支名> <本地分支名>
eg. git branch --set-upstream-to=origin/demo demo
或者
git branch -u origin/demo // 在当前分支输入该命令,就会将当前所在本地分支关联远程demo分支
或者
git branch -u origin/远程分支 本地分支 // 写两个分支名的话远程分支写前面,本地分支写后面
4、git 查看本地当前分支对应的哪个远程分支
git status
标明本地分支名是: edoc-thbl 对应的远程分支是: origin/edoc-thbl
查看本地所有分支对应的远程分支使用命令: git branch -vv
或者
使用git branch -vv 查看本地分支与远程分支的映射关系
git储藏流程
1.储藏
有时候我们代码写到一半,需要切换到另外一个分支上去工作。但是我本地这个工作还没做完,如果我现在做一个commit那么会让我的这个开发线多出很多的零散的commit。所以这时候我就可以先把代码进行储藏,然后再切换到其他分支,在其他分支工作完成后再切回现在这个分支。
2.添加储藏
git stash :即可将代码储藏起来。 git stash save "message" :在储藏代码的时候设置一些信息。
3.恢复储藏
储藏完成后我们就可以切换到其他分支了,在其他分支工作完成后,我们再回到之前的分支。然后可以使用以下命令来把之前的储藏的代码进行恢复。
git stash pop :把最新的储藏删掉,并且把储藏的代码恢复出来。 git stash apply :把所有的储藏代码全部恢复出来。git stash apply stash@{index} :
取出指定index的储藏的修改到工作区中
4.删除储藏
git stash drop stash@{index} :将指定index的储藏从储藏记录列表中删除 git stash clear :清除所有的储藏。
5.查看所有储藏
git stash list :查看所有的储藏。
6.储藏未跟踪的文件
默认情况下git stash
只会储藏那些被跟踪的文件。如果想要储藏那些未被跟踪的文件,那么可以加上--include-untracked
参数。命令如下:
git stash --include-untracked
我们还可以使用git stash -a
来储藏工作区所有的文件。包括跟踪的文件,没有跟踪的文件,以及在.gitignore
中指定了不需要跟踪的文件。
放弃本地文件修改流程
1. 未使用git add 缓存代码
- 使用git checkout -- filename,注意中间有--
git checkout -- filename
- 放弃所有文件修改 git checkout .
git checkout .
- 此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除
- 此命令不会删除新建的文件,因为新建的文件还没加入git管理系统中,所以对git来说是未知,只需手动删除即可
2. 已使用git add 缓存代码,未使用git commit
- 使用 git reset HEAD filename
git reset HEAD filename
- 放弃所有文件修改 git reset HEAD
git reset HEAD
此命令用来清除 git 对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了第一步1. 未使用git add 缓存代码,继续使用用git checkout -- filename,就可以放弃本地修改
3. 已经用 git commit 提交了代码
- 使用 git reset --hard HEAD^ 来回退到上一次commit的状态
git reset --hard HEAD^
- 或者回退到任意版本git reset --hard commit id ,使用git log命令查看git提交历史和commit id
git reset --hard commit id
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)