【Git 快速了解】

Git简单了解

一、控制系统

复制代码
	分布式版本控制系统 git 
	集中式版本控制系统 svn cvs

二、安装Git

sudo apt install git

sudo apt search git

三、配置git环境

参数:--globle :长命令表示配置整个git环境

git config --global user.name "你的用户名"

git config --global user.email "你的邮箱"

四、创建本地仓库

本地仓: git init //master

完整流程:

mkdir test //创建空目录

cd test //进入目录

git init //初始化当前仓库

初始化后会生成git的配置文件目录,需要通过ls -ah查看隐藏目录

/home/stephenzhou/test/.git

五、新建文件添加到本地仓库

touch test.c //新建文件test.c

git add test.c // 将文件添加到缓存区

git commit -m " add test.c" // 提交到本地仓

git commit -m 中的-m 命令用来简写我们描述的信息"add test.c"

该命令会生成40位的哈希值,用于作为id。

六、改写提交:

git add test.c

git commit -m "add new file 'test.c'"

git commit --amend //重写上一次的提交信息

i 命令进入编辑

ctrl + o: 完成修改后按下

七、查看历史提交日志

git log

git log --pretty=oneline //简介输出日志信息

八、回滚代码仓库

git reset --hard^ //退回到当前仓的上一个版本

git reset --hard~3 //退回到当前仓的前三个版本

git reset --soft //将头指针恢复, 缓存区和工作区内容不变化

git reset --mixed //将头恢复掉,缓存区内容丢失,工作区内容不变

git reset --hard //一切全都恢复,头、缓存区消失,代码恢复到以前的状态

九、查看当前仓库状态

git status //查看提交之后文件是否做了改动

十、修改缓存区内容

git add --all //将所有改动文件添加到缓存区,包括删除的文件

git add . //同 git add --all ,但不会记录删除操作。

操作完成后需要git commit提交代码到本地仓

十一、将文件撤回到最近一次修改的状态

git checkout --file //checkout:切换参数,通常用来切换分支仓库

十二、查看单个文件可回滚版本:

git log filename

git log min.c

git reset Id min.c

git add min.c

git commit -m "new"

十三、删除文件

rm a.c

git add -a

git commit -m "rm a.c"

git rm a.cd

git commit -m "rm a.c"

十四、查看提交历史

git reflog //查看当前版本库的提交历史

十五、Git 基本组成框架

Workspace:开发之者工作区

Index/Stage:暂存组/缓存区

Repository: 仓库区(本地仓库)

remote:远程仓库

十六、git rm 后恢复文件

git rm 会将文件放入缓存区,且没有使用commit提交的情况下

git rm d.c //删除一个文件

git reset //重置缓存区

git checkout d.c //将文件取消操作

十七、创建分支

git checkout -b dev //创建分支,创建完成后自动切换

git branch //查看当前分支(HEAD的指向)

其中

git checkout -b dev

等价于

git branch dev //创建分支,但不会切换分支

git checkout dev //切换分支

git checkout master

十八、合并分支

git checkout master //切换到需要合并的分支上master

git merge dev //合并dev分支到master仓

十九、查看分支

git branch -a //查看当前所有分支

二十、删除分支

git branch -D branchname //删除本地分支

git push origin --delete remotename //删除远程分支

二十一、github将本地仓库关联到远程仓库

git remote add origin orginLink

git push -u origin master //推送到远程,

其中 -u 第一次提交加上即可,后面可以不用添加,只有合并记录,没有历史记录,也不能切换分支

二十二、将远程仓库关联到本地和拉去指定分支、切换远程分支

git clone 分支链接

git clone -b master //可以用来指定分支

二十三、github 提交本地仓库到远程仓库

git add //提交到缓存区

git commit -m //提交到本地仓库

git push origin master //推送到远程仓库

二十四、修改分支名称

git branch -m 分支名 新的分支名

二十五、保存当前工作分支

git stash //保存当前工作状态

git stash list //查看当前存储了多少工作状态

git checkout main //切换到其他分支

git stash pop //切回刚才的分支,刚刚的分支中状态恢复

git stash apply //删除列表中的内容默认恢复第一个

git stash apply list名称 //恢复到指定的内容

git stash drap list名称 //移除指定的内容

git stash clear //移除所有list

git stash show //查看栈中最新保存的shash与当前目录的差异

二十六、将别的分支修改转移到自己的分支

git cherry-pick 分支名 //会将master改动的代码合并到我们分支

二十七、远程删除分治后本地git branch -a 依然看得到的问题

git remote show origin //查看远程仓库信息

git remote prune origin //刷新本地分支仓库

二十八、强制合并分支

git merge master --allow-unrelated-histories

二十九、拉取远程所有分支

git fetch //拉取全部分支

git fetch XXX //XXX分支名称,拉去指定分支

三十、子模块管理

git submodule add link //添加子模块

git submodule update //子模块需要手动执行命令进行更新

三十一 git 其他命令

git branch -D //强制删除分支

git diff //查看不同分支差异

git remote -V //查看当前仓库名称

git log --graph --pretty=oneline --abbrev-commit //查看日志

git switch -b //切换分支与新增分支

git switch -c //切换新分支

git restore file //撤销文件的提交与修改

三十二、搭建本地git服务器

sudo apt install git //在debian/linux下使用此命令

git adduser git //仙剑一个用户专门管理git服务的账户

su git //切换到目录下

ssh-keygen -t rsa -C "你的邮箱" //配置好sshkey,生成.ss目录

touch authorized_keys //.ssh目录里查看没有则创建

sudo git init --bare txt.git //创建一个git仓库

vim etc/sudoers //进入权限目录

git ALL=(ALL:ALL)ALL //修改权限

sudo chown -R git:git txt.git //修改所熟组

vim /etc/passwd //安全考虑,禁止ssh登录

找到git: x:1001:1001;,:/home/git:/bin/bash

改为git: x:1001:1001;,:/home/git:/bin/git-shell

sudo apt install openssh-server //服务器安装ssh服务,git环境命令

相关推荐
NocoBase27 分钟前
【2.0 教程】第 1 章:认识 NocoBase ,5 分钟跑起来
数据库·人工智能·开源·github·无代码
量子位6 小时前
字节版龙虾架构火爆GitHub!开源获35k+ Star,内置Skill全家桶,原生适配飞书
github·ai编程
悠然大月季6 小时前
git 怎么导出提交历史,文件是乱码
git·git导出历史记录·git导出历史乱码
chenshiming8027 小时前
在cursor下执行GIT回退版本
git
汪海游龙10 小时前
开源项目 Trending AI 招募 Google Play 内测人员(12 名)
android·github
HealthScience10 小时前
github怎么授权ssh(私人库授权)
运维·ssh·github
打点计时器11 小时前
Git快速上手教程
git
我才是一卓11 小时前
linux 安装简易 git 服务端并使用
linux·运维·git
CoderJia程序员甲11 小时前
GitHub 热榜项目 - 日榜(2026-03-22)
人工智能·ai·大模型·github·ai教程