深圳前50强网站建设公司,如何做网页广告,怎么办网站平台,腾讯云服务器怎么用常用命令 其他参数 --inital-branch 初始化的分支 --bare 创建一个裸仓库#xff08;纯 Git 目录#xff0c;没有工作目录#xff09; --template 可以通过模板来创建预先建好的自定义 git 目录 常见 Git 配置 用户名配置
git config --global user.name yourname纯 Git 目录没有工作目录 --template 可以通过模板来创建预先建好的自定义 git 目录 常见 Git 配置 用户名配置
git config --global user.name yourname git config --global user.email yournamexx.com
instead of 配置
git config --global url.github.com:.insteadOf github.com/
Git 命令别名配置
git config --global alias.cin commit --amend --no-edit
Git Remote
查看 Remote
git remote -v
添加 Remote
git remote add orgin_ssh gitgithub.com:git/git.git git remote add orgin_http github.com/git/git.gii…
HTTP Remote
URL:github.com/git/git.git 免密配置 内存git config --global credential.helper cache --timeout3600 硬盘git config --global credential.helper store --file/path/to/credential-file 不指定目录的情况默认是 ~/.git-credentials
将密钥信息存在指定文件中 具体格式scheme://{scheme}://scheme://{user}:${password}github.com
SSH Remote
URL:gitgithub.com:git/git.git 免密配置 SSH 可以通过公司钥的机制将生成公钥存放在服务端从而实现免密访问
目前的 Key 类型四种分别是 dsa、rsa、ecdsa、ed25519 默认使用的是 rsa由于一些安全问题现在已经不推荐使用 dsa 和 rsa 了优先推荐使用 ed25519 ssh-keygen -t ed25519 -C your_emailexample.com 密钥默认存在 ~/-ssh/id_ed25519.pub
Objects
commit / tree / blob 在 git 里面走统一称为 Object除此之外还有个 tag 的 object. Blob存储文件的内容 Tree存储文件的目录信息 Commit存储提交信息一个 Commit 可以对应唯一版本的代码
如何把这三个信息串联在一起 1、通过 Commit 寻找到 Tree 信息每一个 Commit 都会存储对应的 Tree ID。 2、通过 Tree 存储的信息获取到对应的目录树信息。 3、从 Tree 中获得 blob 的 ID通过 Blob ID 获取对应的文件内容。
Refs
Refs 文件存储的内容 refs 的内容就是对应的 Commit ID 因此把 ref 当做指针指向最硬的 Commit 来表示当前 Ref 对应的版本。
不同种类的 ref
refs/heads 前缀表示的是分支除此之外还有其他种类的 ref比如 refs/tags 前缀表示的是标签。
Branch
git cheakout -b 可以创建一个新分支 分支一般用于开发阶段是可以不断添加 Commit 进行迭代的
Tag
标签一般表示的是一个稳定版本指向的 Commit 一般不会变更 通过 git tag 命令生成 tag。
Annotation Tag
什么是附注标签 一种特殊的 Tag可以给 Tag 提供一些额外的信息。 如何创建附注标签 通过 git tag -a 命令来完成附注标签的创建。
Git GC
通过 git gc 命令可以删除一些不需要的 object以及会对 object 进行一些打包压缩来减少仓库的体积。
Reflog
reflog 是用于记录操作日志防止误操作后数据丢失通过 reflog 来找到丢失的数据手动将日志设置为过期。 指定时间 git gc prunenow 指定的是修剪多久之前的对象默认是两周前。
Git Clone Pull Fetch
Clone
拉取完整的仓库到本地目录可以指定分支深度。
Fetch
将远端某些分支最新代码拉取到本地不会执行 merge 操作会修改 refs/remote 内的分支信息如果需要执行和本地代码合并需要手动操作。
Pull
拉取远端某分支并和本地代码进行合并操作等于 git fetch git merge也可以通过 git pull --rebase 完成 git fetch git rebase 操作。
可能存在冲突需要解决冲突。
Git Push Push 是将本地代码同步至远端的方式。 常见命令 一般使用 git push orgin master 命令即可完成 冲突问题 1、如果本地的 commit 记录和远端的 commit 历史不一致则会产生冲突比如 git commit --amend or git rebase 都有可能导致这个问题。 2、如果该分支就自己一个人使用或者团队确认过可以修改历史则可以通过 git push orgin master --f 来强制推送一般不推荐主干分支进行该操作正常都应该解决冲突后再进行推送。 推送规则限制 可以通过保护分支来配置一些保护规则防止误操作或者一些不合规的操作出现导致代码丢失。