# git学习笔记 为区别linux系统命令,git所以命令前缀都是git xxx 1、初始化设置账号密码邮箱 git config --global user.name "yanjiaqing" git config --global user.email 1773943551@qq.com git config --global user.password "xRMq52aa56ffwjfKNQ" http://repo.xxcg.com/gitea-open/shixi.git http://repo.xxcg.com/gitea-open/ShixiServer.git yjq52306950 d325c446a95c74a16c9a3328b9bbb0904acaa8e3 2、git的四个区域 ①工作区(WorkingDirectory):电脑里能看见的目录 ②暂存区(Stage/Index):一般放在.git目录下的index文件,又称索引 ③本地仓库(Repository):工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库 ④远程仓库(Remote):托管在远程服务器上的仓库 3、git三种状态 ①已修改(Modified):修改了文件,但没保存到暂存区 ②已暂存(Staged):把修改后的文件放到暂存区 ③已提交(Committed):把暂存区的文件提交到本地仓库 4、基本概念 main:默认主分支 origin:默认远程仓库 HEAD:指向当前分支的指针 HEAD^:上一个版本 HEAD~4:上4个版本 5、特殊文件 .git:Git仓库的元数据和对象数据库 .gitignore:忽略文件,不需要提交到仓库的文件 .gitattributes:指定文件的属性,比如换行符 .gitkeep:使空目录被提交到仓库 .gitmodutes:记录子模块的信息 .gitconfig:记录仓库的配置信息 6、基本命令 git init 创建本地仓库 git clone http://repo.xxcg.com/gitea-open/shixi.git 克隆远程仓库 http://repo.xxcg.com/gitea-open/ShixiServer.git git add 将文件添加到暂存区 git commit -m “message” 将暂存区的修改内容提交到仓库中,并附带一条提交信息 git status 显示当前工作目录和暂存区的状态,包括哪些文件被修改了、哪些文件还未暂存等 git diff:比较文件在不同版本之间的差异,也可以用来比较工作区与暂存区、暂存区与HEAD之间的差异 git reset:用于取消暂存区的修改或回退到某个版本 git reset --hard HEAD^会回退到上一个版本 git rm :从仓库中删除文件,同时也会从工作区中删除该文件 git rm --cached工作区不删除 git branch:列出所有本地分支 使用git branch 可以创建新分支 git checkout :切换到指定分支 2.23版本以上的git有git switch命令来切换分支 git merge :将指定分支的更改合并到当前分支上 git branch -d :删除已合并的分支 git branch -D强制删除分支 git remote add :添加远程仓库的地址 git fetch :从远程仓库获取最新版本的信息,但不会自动合并到当前分支 git pull :从远程仓库获取最新版本的信息并自动合并到当前分支 git push :将本地分支的更新推送到远程仓库 git stash:临时保存工作进度,以便切换到其他分支进行工作 git revert :撤销某个提交的更改,并创建一个新的提交来记录这个撤销操作