初始化仓库
本地没有项目,仓库有
git clone <项目地址>
本地有项目,仓库也有
确保本地已经初始化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分支
首先切换到要合并的分支main,执行
|
|
837fc5dedd1b8b2ab459041de179b4689587fd73
是提交的hash值,通过 git log
查看。
reset
情景1
放弃当前内容,回到某个历史提交的commit ,并丢弃暂存区
|
|
同时删除未追踪的文件和目录
|
|
为什么有这个用法,主要是用来学习,删除了之后,自己再重新写一遍。不用关心需要删除哪些内容。
常见问题
从远程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
。