git init
git config –global user.name ‘binbla’
git config –global user.email ‘admin@binbla.com‘
git config –global –list
本地仓库:
git status
git add *
git rm –cache
git commit -m “text info”
git log –oneline # 查看提交记录
工作区 暂存区 本地仓库
文件状态:未管理,未修改,未提交
git reset –soft # 保留工作区+暂存区
git reset –hard # 不保留
git reset –mixed # 保留工作区
比较差异
git diff a.file b.file
git diff HEAD # 比较工作区和版本库 HEAD指最近一次提交,HEAD~[n]表示上n个版本
git diff –cache # 比较暂存区和版本库
git diff 5adsdf sdfsadf # 比较两个提交版本
还能比较分支
git rm a.file # 工作区和暂存区一起删除文件
git rm –cache file # 从暂存区删除
git add #也可以识别删除操作
ssh方式
su - user
cd ~/.ssh
ssh-keygen -t rsa -b 4096
远端
git remote -v
git remote add origin git@dsdddddd:dfsfa.git
git branch -M main # 指定分支的名字为main
git push -u origin main:main # 将本地仓库分支main和别名为origin的远端仓库main分支关联
git fetch # 获取远程仓库的修改,不会自动合并
分支
git branch # 显示所有分支
git branch dev # 新建一个名叫dev的分支
git switch dev # 来切换到dev分支
git merge dev # 将dev分支合并到当前的分支
git log –graph –oneline –decorate –all # 可视化分支图
git branch -d dev # 删除dev分支,d是删除合并的不再需要的分支,D是强制删除分支
当存在冲突文件时 ,手动编辑冲突文件解决冲突之后再合并提交
git rebase main # 如果当前在dev分支,可以将共同祖先后面所有main的分支挪到dev分支之后,形成一条直线
alias gittree=”git log –graph –oneline –decorate –all”