2024-10-27 09:23:50 +00:00

157 lines
4.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

git config --global credential.helper store
/\ /\ user.name " "
|| || user.email " "
配置git环境 配置整个环境
工作树 -- 暂存区 -- 本地仓库 -- 远端仓库
git status #查看当前仓库状态
git init #创建仓库
--bare <code.git> #没有工作树的选项(多用于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