从此

VCS、GIT

综合/最新

数据库老专题运维

综合



GIT

注意 - Github 仓库创建时,勾上 README.md 就相当于自动提交了首个 commit,会导致使用侧必须加上 --allow-unrelated-histories 才能推送了,不勾则可直接 git push ... 。
  NetBeans 初始化 Git 仓库时无法指定分支名,故只能在终端加参数了。

初始化(默认master,但首选github的main分支)
git init --initial-branch=main
[错过init指定分支]分支改为main;查看生效 cat .git/HEAD;等同 NetBeans->xxx->Git->Switch To Branch->Checkout as New Branch: main;Android Studio 用命令行才能初始化分支名 main。
git switch -c main
查看变动信息
git status
查看文件变动;无 commit 可 push 则显示 up to date 字样,否则告知提交数:... by 1 commit.
git diff project.godot
新增和变更均要add下,添加至“Changes to be committed”列表
git add .
[仅一次]提交前必须配置下email
git config --global user.email "you@example.com"
git remote add origin https://github.com/you/repo.git
提交“Changes to be committed”列表
git commit -m "msg"
撤销git add和commit
[已提交且错过初始化指定分支时]Move默认分支master至main
git branch -M master main
推送至仓库(Windows弹出“Connect to GitHub”输入Token即可 / 首次push必须加-u来告知git所关联的远程分支)
git push -u origin main
detected dubious ownership in repository
git config --global --add safe.directory "*";
仓库共2种: git init repo # 创建 non-bare 仓库;.git/ + 源码,客户端侧模式。 git init --bare repo.git # 创建裸仓库;直接将 .git/ 做为根目录,无源码;Github 仓库即为该类型,git clone 等同 “git init + git remote add + git fetch + git checkout”,克隆要求目标文件必须为空,故可先改名,然后将源码文件手动复制进来。 清除所有历史记录 - 孤儿参数使新分支不继承历史记录 git checkout --orphan no_history git add -A git commit -am "init" git branch -D main git branch -m main git push -f origin main

其他