git常用命令小总结

常见误区(面试题):你的简历里提到了会git的使用,问一下git可以在本地使用吗?一定要注册gitee账号?绑定邮箱?

不需要,git在本地就可以使用,甚至也不需要网络,他是版本控制器,负责记录你目录的每一次修改.

安装git :Ubuntu下

sudo apt install git

windows安装git的话去下载对应的安装包(小乌龟+git)即可

1.创建仓库

在你想创建仓库的目录下,执行git init

(同时,如果你有gitee的情况下,可以在gitee上手动创建仓库,然后把仓库的链接复制到服务器进行clone,git init的仓库是不会绑定到gitee上的)

如果你想传到gitee,首先执行git init,然后在gitee上创建一个空仓库(README文件什么的也都不要),然后会生成url,接下来执行

bash 复制代码
# 1. 告诉本地仓库,远程的"家"在哪里
git remote add origin https://gitee.com/你的用户名/NewGame.git

# 2. 把本地的代码推送到 Gitee
git push -u origin master
# (注意:如果你的默认分支是 main,请把 master 换成 main)

接下来就可以把代码推送至远端了(git init的文件夹名字和仓库名字无关,随便取)

如果你一定要在你的gitee上看到你的仓库,下面这种做法更适合:

首先在gitee上创建新仓库,然后把生成的url复制到终端执行(你想在哪个位置创建该仓库就在哪里执行)执行后就可以正常提交了.

方式 流程特点 适用场景
git init 本地先有代码 -> 再去网上建库 -> 手动关联 本地已经写了一半代码,想上传到云端备份。
git clone 网上先建库 -> 下载到本地 -> 自动关联 全新项目,或者要在另一台电脑上继续工作。

对于init的方法,第一次初始化可能会报错,原因是我们没有指定分支,执行:

git config --global init.defaultBranch master (指定为master分支)

--global代表所有分支都是master

2.配置仓库name和email

git config --global user.name "Your Name"

git config --global user.email "email@example.com"

global代表这台电脑上所有仓库都会绑定此信息(执行命令要在仓库中进行)

查看配置: git config -l

删除配置

git config --global --unset user.name

git config --global --unset user.email

注:配置name和email不需要你在gitee有账号,可以是任何name和email(也不需要网络)只是用于标记这条commit是谁发的,如果你输入了gitee配置的账号,那么在你push时就会出现绿格子.

3.添加文件

将文件添加到暂存区:git add file file 或git add dir,添加当前目录就是git add .

放入本地仓库 git commit -m "message" (也可以将指定文件放入语法与上面类似)

查看历史提交记录,git log(会显示每一个commit的版本id和作者,用于回滚)

4.修改文件

git status可以查看你上次提交后是否对文件又修改,可以显示出哪个文件被修改了

git diff file 查看哪个地方被修改了

对于这种情况,你刚才的git commit的快照就失效了,现在无法git push 到远端仓库,只能重新git add\

5.版本回退

git reset--soft \| --mixed \| --hard HEAD

选项: soft 对于工作区和暂存区的内容都不变,只是将版本库回退到某个指定版本

mixed:默认选项,使用时可以不用带该参数。该参数将暂存区的内容退回为指定提交版本内容,工作区文件保持不变

hard:将暂存区与工作区都退回到指定版本。

工作区就是你还没有用git时写的代码,暂存区就是git add后的地方,版本库就是git commit的本地仓库

如果对于本地仓库,使用起来比较简便,但如果是涉及远端仓库就麻烦了,你在回滚后再git push是会报错的,

如果你只是想回滚看看之前的代码是什么样的

bash 复制代码
# 查看操作日志,找到回退前的 commit ID
git reflog 
# 假设回退前的 ID 是 abc1234
git reset --hard abc1234

但如果你是想修改远端

bash 复制代码
git push -f origin main
# 或者更安全的写法(推荐)
git push --force-with-lock origin master

HEAD 说明:

  • 可直接写成 commitid,表示指定退回的版本。

  • HEAD 表示当前版本

  • HEAD^ 上一个版本

  • HEAD^^上上一个版本。以此类推...0

也可以使用 ~数字表示:

  • HEAD~0 表示当前版本
  • HEAD~1 上一个版本

6.撤销

git check out -- file 让该文件回到最后一次add/commit状态

7.删除

git rm file 从工作区和暂存区中删除,再commit

相关推荐
BIBI204910 小时前
换 Git 托管平台怎么做?基于 TortoiseGit 的跨平台迁移教程
windows·git·tortoisegit·问题解决·版本控制·最佳实践
echome88818 小时前
Git 日常救急:撤销提交、找回误删文件和解决冲突
git·版本控制
赵民勇1 天前
Git命令详解
git
不老刘2 天前
Antigravity 的 New Worktree 模式:给 AI 代理一个安全的“平行工位”
人工智能·git·ai编程·antigravity
光谱SpectrAI2 天前
Windows 也中招:Git Bash 和 Node 仍信任泄露的 eMudhra 证书
git
YIN_尹2 天前
【git原理与使用】git初识与安装
大数据·git·elasticsearch
Leo_Mr2 天前
Vue3 项目配置 Git 提交规范(企业通用方案:husky + commitlint + cz-git + lint-staged)
git
jyOverQ2 天前
Git rebase 和 merge 有什么区别?什么时候该用哪个?
git
晗夜未央2 天前
跨仓库 Skill 换台电脑就失效?用 Git remote 校验项目
人工智能·git·python
Lsetea2 天前
Git访问HTTPS证书不受信任:用URL级sslCAInfo限定私有CA范围
git·https·开发工具·ssl证书·ca证书