git config --global credential.helper store /\ /\ user.name " " || || user.email " " 配置git环境 配置整个环境 工作树 -- 暂存区 -- 本地仓库 -- 远端仓库 git status #查看当前仓库状态 git init #创建仓库 --bare #没有工作树的选项(多用于git服务器) git add 文件 #将文件放到暂存区 * #所有 新建的,删除的,修改的 . #新建的,修改的 -u #删除的,修改的 git commit #将暂存区修改合成一个提交 -m "填写概要" # 不写概要则会创建一个文件,第一行概要,第二行空,第三行详细 -am #相当于add + commit git log #仓库日志 -a #查看所有分支的提交记录 --stat #详细 --pretty=[short/oneline] #特殊显示 --graph #更直观选项 --after="YYYY-MM-DD" #指定日期 --before="YYYY-MM-DD" #指定日期 --author="xxx" #特点作者提交 origin/master #看远端仓库的日志 文件/目录 #单独追踪 git diff #比对差异 与暂存区差异 HEAD #与本地仓库最新提交差异 git reflog #查询历史操作 git branch #显示所有分支 xxx #创建名为 xxx 的分支 -a #查看当前工作分支相关信息 -r #列出远端仓库的所有分支 -d/D #删除分支 大写强制 -m/M #修改主分支 大写强制 git checkout #切换分支 xxx #切换到 xxx 分支 -b xxx #创建并切换到 xxx 分支 [file] #未提交的文件撤销修改 [hash] #回退 git merge #合并分支 xxx #将 xxx 分支合并到当前工作分支 --no-ff #在历史记录中记录合并 --squash #将分支合并为一个提交进行合并,简化历史 git reset #回溯 --hard HEAD~1 #撤销最后一次commit 本地仓库 and 暂存区 and 工作树 HEAD~1 #撤销最后一次commit 仅本地仓库 and 暂存区 --soft HEAD~1 #撤销最后一次commit 仅本地仓库 git revert #提交一个反commit用于撤销前面的commit HEAD [hash] git rebase #变基 -i #压缩历史 xxx #尝试与xxx分支同步合并 --abort #当冲突时撤销合并 --continue #继续合并 git switch # -c xxx #创建并切换到 xxx 分支 git stash #保存工作区当前状态 list #查看存储状态 pop #将最新一次记录恢复并删除 apply #默认恢复最新记录 clear #清楚所有记录 show #看当前与栈顶差异 save xxx #提交注释 ----------------------------------------------------------------------------- git clone URL #clone一个仓库 git remote #操作远程仓库 add origin URL #添加远程仓库 rm origin URL #删除远程仓库 -v #显示详细信息 git push #推送到远程 origin xxx:xxx #将 xxx 分支推送到远端 origin 仓库 本地分支:远端分支 -u origin xxx #推送同时,尝试将origin 的 xxx 设置为上游 origin xxx --delete #删除远端的xxx分支 --tags #推送全部标签 -f #强制提交 origin :xxx #删除远端 xxx 分支 git pull #拉取远端仓库 全部 = git fetch + git merge origin xxx #直接覆盖当前工作树 --rebase # = git fetch + git rebase HEAD git fetch #拉取到本地仓库中 不对工作树进行覆盖 git tag #查看所有标签 -d #删除标签 [tag] # -a #设置标签名 -m #填写标签说明 ----------------------------------------------------------------------------- .gitignore #此文件中可放置不想追踪的文件 #1: 修改了ssh端口的推送与clone git remote add iaalai ssh://root@api.iaalai.cn:25522/root/git/code.git/ git clone ssh://root@api.iaalai.cn:25522/root/git/code.git/ #2: 搭建git服务器 1 + install git/openssh 2 + useradd git 3 + 创建证书登陆 用户: .ssh/id.rsa.pub -> 服务器:.ssh/authorized_keys 一行一个 4 + 创建仓库并移交权限给git用户 5 + 禁用登陆shll usermod -s /bin/git-shell git #3: 工作流参考 1 + git clone 到本地仓库 2 + git checkout -b feature 创建新分支 3 + git commit -am 提交 4 + git push origin feature 当遇到主分支更新时 1 + git checkout main 切换到主分支 2 + git pull origin main 拉取最新更新 3 + git checkout feature 切换到特性分支 4 + git rebase main 尝试变基合并 5 + git push -f origin feature 强制提交特性分支 6 + Pull Request Squash and merge 合并到主分支 7 + git checkout main 切换回主分支 8 + git branch -D feature 删除特性分支 9 + git pull origin main 拉取最新主分支 #4: 开发时查看远端仓库是否更新 pull or fetch