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

相关推荐
山川行2 小时前
Git学习笔记:Git进阶操作
笔记·git·vscode·学习·编辑器·visual studio code
小霍同学2 小时前
Git Commit 规范与相关工具
git
fengyehongWorld2 小时前
SourceTree 推送后修改commit message
git·sourcetree
云中飞鸿4 小时前
git、svn;TortoiseGit、TortoiseSVN;gitlab、github、bitbucket、bamboo有什么关系?
git·svn·gitlab
qqxhb15 小时前
04|最小工程素养:文件、命令行、依赖、环境变量、Git
git·环境·依赖·工程·项目结构
国家二级编程爱好者19 小时前
删除typora文档没有引用的资源文件
git·python
Rsun045511 天前
Git相关面试题
git
rogerogers1 天前
在 VS Code Remote SSH 中完美配置 GPG 自动签名 (macOS 到 Ubuntu 24.04)
git·visual studio code
qiuyuyiyang1 天前
Nginx 反向代理之upstream模块以及完整配置反向代理示例
git·nginx·github