初始化仓库
本地没有项目,仓库有
|
|
本地有项目,仓库也有
确保本地已经初始化git init
,先将本地提交了。
添加远程仓库地址,拉取项目,解决冲突。
|
|
例
|
|
如果本地也有记录,且和远程有冲突,后面讲
拉取 pull
|
|
推送 push
将当前分支提交到对应远程分支
|
|
将当前分支提交到特定的远程仓库,同名分支
|
|
将本地分支提交到远程特定的分支
|
|
设置上游分支,推送当前分支,并设置上游分支(tracking branch)
这样之后可以使用 git push
直接推送,而不需要指定远程仓库和分支。
|
|
强制推送:强制推送本地更改,即使这会导致远程仓库的更改丢失。使用此选项需要谨慎,因为它可能会覆盖远程分支上的提交。(慎用!!!)
|
|
删除远程分支:删除远程仓库上的指定分支。
|
|
推送标签:推送本地创建的标签到远程仓库
|
|
推送所有分支和标签:推送所有本地分支和标签到远程仓库。
|
|
使用 git push
时,最好先使用 git pull
或 git fetch
来获取远程仓库的最新状态,以避免潜在的冲突。此外,强制推送(-f
或 --force
)可能会导致其他协作者的更改丢失,因此应该在团队中明确沟通后谨慎使用。
分支
合并 merge
合并某个提交 cherry-pick
选择合并某一个分支的提交记录
例如:有 main
,dev
两个分支,dev
提交了 commit a
,commit b
,现在需要将 commit b
合并到 main
分支
查看 dev 分支 commit b 提交的 hash
|
|
假设提交的hash值为 837fc5
切换到要合并的分支 main,执行
|
|
重置 reset
–hard
放弃当前内容,回到某个历史提交的 commit ,并丢弃暂存区
|
|
同时删除未追踪的文件和目录
|
|
为什么有这个用法,主要是用来学习,删除了之后,自己再重新写一遍。不用关心需要删除哪些内容。
–soft
–mixed (默认)
子模块 submodule
子模块是用在项目中将其他项目作为子项目使用
初始化子模块配置
|
|
更新子模块内容
|
|
常见问题
从远程 Git 仓库中删除已经上传但现在希望忽略的文件
确保你已经在 .gitignore
文件中添加了需要忽略的文件或文件夹。
使用以下命令将文件从 Git 的追踪中移除,但保留本地文件:
|
|
如果你想要移除多个文件,可以使用通配符或列出多个文件。
提交对 .gitignore
文件和移除追踪的更改:
|
|
将更改推送到远程仓库:
|
|
假设要忽略名为 config.json
的文件,操作如下:
|
|
完成这些步骤后,config.json
文件将不再被 Git 跟踪,并且在之后的提交中将被忽略。
error: bad signature 0x00000000
|
|
这表示索引出现错误
备份索引文件:
在命令行中,进入你的 Git 仓库目录(你已经在 E:\markstore\hugo-blog
中),然后执行以下命令:
`cp .git/index .git/index.backup`
(如果你在 Windows 上,可以使用 `copy .git\index .git\index.backup`)
删除索引文件:
`rm .git/index`
(在 Windows 上使用 `del .git\index`)
重新构建索引:
运行以下命令来重新构建索引:
`git reset`
git status 中文字符显示为 \1234\1234
|
|
全局生效
|
|
还原:off
改成 on
。