Git常用命令记录

本文详细介绍了Git的各种常用命令,包括初始化项目、管理工作区、暂存区和版本库,以及分支操作、远程仓库的交互。同时,还讲解了如何处理push代码时遇到的错误,如更改为HTTPS协议,以及各种常见的版本控制操作。此外,还涉及了.gitignore文件的使用,以忽略特定文件或目录。文章最后列举了多个与Git操作相关的报错及其解决办法,帮助读者更好地理解和掌握Git。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


初始化一个未使用git进行版本控制的项目

git init

工作区、暂存区和版本库

工作区提交暂存区

提交单个文件

git add file_name

提交当前项目的所有文件

git add -A

删除版本库中的文件

该文件在工作区已被删掉,想要再版本库中也删除,commit之后删除生效

git rm file_name

查看当前工作区和暂存区状态

git status

把暂存区的内容提交到版本库

-m后面跟本次提交的描述信息

git commit -m "description"

撤销本地未暂存和提交的某个文件的修改

git checkout -- file_name

撤销本地未暂存和提交的所有修改

git checkout .

丢弃工作区的修改,从暂存区中恢复

git restore --worktree file_name

丢弃工作区的修改,从版本库恢复

git restore --staged file_name

清除工作区未跟踪文件以及空的子目录

git clean -d

强制清除工作区未跟踪文件以及空的子目录

git clean -f -d

比较工作区和暂存区

也就是找到当前已做修改,但为暂存的文件

git diff

储藏当前工作区

当工作区有修改,但是由于没修改完等原因,暂时不想提交,但是想进行切换分支等操作的时候,工作区内不能有文件,因此可以用改命令先把工作区储藏起来

git stash

查看储藏的工作区

git stash list

恢复工作区并删除stash内容

git stash pop

恢复工作区

git stash apply

删除stash内容

git stash drop

分支

查看所有分支

当前所在分支前面会有*

git branch

创建并切换分支

git checkout -b branch_name

创建分支

git branch branch_name

切换分支

git checkout branch_name

合并指定分支到当前分支

git merge branch_name

删除分支

要删除的分支已合并,可以利用该命令进行删除

git branch -d branch_name

强制删除分支

要删除的分支未合并,无法删除,可以使用该命令进行强制删除

git branch -D branch_name

重命名本地分支

git branch -m old_branch_name new_branch_name

远程仓库
本地项目和远程仓库建立连接

origin为自己指定的远程仓库的名字,一般设为origin,后面跟远程仓库的地址

git remote add origin git@github.com:michaelliao/learngit.git

远程仓库

查看远程仓库

git remote -v

删除远程仓库

depository_name是远程仓库名

git remote rm depository_name

添加远程仓库

关联已有的本地仓库和github仓库:depository_name是远程仓库名,depository_address是远程仓库地址

git remote add depository_name depository_address

将token添加到远程仓库链接中

无须密码,避免每次提交都要输入token
depository_address是远程仓库地址加上token:https://token@github.com/~.git

git remote set-url depository_name depository_address

pull代码

克隆远程代码到本地

git clone github_address

查看远程仓库

git remote

显示可以push或pull的远程分支

如果没有push权限,就看不到push的分支

git remote -v

更新远程分支列表

origin是默认的远程仓库名

git fetch origin --prune

pull远程代码到本地

origin是默认的远程仓库名,可进行修改
如果存在冲突,merge失败,可以手动解冲突,然后commit

git pull origin remote_branch_name 

把远程的分支pull到本地不存在的新分支

自动创建本地的新分支,与远程分支关联起来

git checkout -b local_branch_name origin/remote_branch_name

强制pull,覆盖本地的当前分支

origin是默认的远程仓库名,可进行修改

git pull origin remote_branch_name --force

push代码

本地代码push到远程

origin是默认的远程仓库名,可进行修改
一般在push到远程分支前,可以把远程的代码pull下来和本地分支进行合并,确保没有冲突,然后再push;

git push origin remote_branch_name

push到远程域原来不同的新分支

origin是默认的远程仓库名,可进行修改

git push origin local_branch_name:remote_branch_name

强制提交本地分支覆盖远程分支

origin是默认的远程项目名,可进行修改

git push origin remote_branch_name --force

关联已有的本地仓库和github仓库

origin为默认显示的远程仓库名,可进行修改

git remote add origin github_address

远程仓库为空,进行第一次push

origin为默认显示的远程仓库名,可进行修改
第一次push的时候使用-u参数,会把本地分支和远程分支关联起来,以后就可以不用该参数了

git push -u origin remote_branch_name

删除远程分支

origin为默认显示的远程仓库名,可进行修改
确定的确需要删除远程分支

git push origin --delete remote_branch_name

报错及解决办法

报错1:fatal: remote error: You can’t push to git://github.com/xiangxiangtao/HTCN.git Use https://github.com/xiangxiangtao/HTCN.git

解决办法:

gedit .git/config

版本控制

查看版本库的commit记录

输入q退出

git log

查看所有操作的命令以及版本号信息

包含未来的版本,如果有进行回退的话

git reflog

回退到上一个commit版本

git reset --hard HEAD^

切换到指定commit版本

查看未来的版本号后,可以使用该命令回退到未来

git reset --hard commit_id

.gitignore

忽略ignore_folder文件夹下的所有内容,在上传远程仓库时保留空文件夹

在文件夹下新建.gitkeep文件
在.gitignore文件内写入

ignore_folder/*
!ignore_folder/.gitkeep

[1]:廖雪峰Git教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

_mountainriver

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

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

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

打赏作者

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

抵扣说明:

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

余额充值