### GIT操作
git init
初始化本地仓库
git remote add origin https://gitee.com/***/ESP32.git
添加远程仓库地址
git clone https://gitee.com/***/ESP32.git mygrit
克隆时,自己定义要新建的仓库目录名称mygrit;可不定义。
git remote -v
验证远程仓库
git add .
对当前目录所有文件进行跟踪
git commit -m "Version information"
版本信息
- ++如果一行不够,可以只执行git commit,就会跳出文本编译器,让你写多行。Commit message 格式包括三个部分:Header,Body 和 Footer。++
git status -s
查看仓库当前文件提交状态
(A:提交成功;AM:文件在添加到缓存之后又有改动)
git fetch --all
获取最新的版本信息,但不会自动合并或修改你当前的工作目录或任何分支的内容。
git pull origin master
同步操作(拉取最新版本)
推送: git push https://gitee.com/***/ESP32.git
git push origin master
更新到远程仓库(推送)-> 强制推送 git push origin master -f
git push -u origin master
-u
参数是--set-upstream
的简写,它告诉Git将当前分支与远程仓库的指定分支关联起来,并设置远程跟踪。
git log
查看git提交的日志
可能会用到的操作: git remote -v
查看远程的仓库名(一般是origin) git branch
查看本地分支名(一般是master)
git config --list
查看配置信息 git config user.name
单个变量查看
git config --global user.name "MarkLi"
git config --global user.email 123456789@qq.com
- 去掉 --global 选项,仅当前仓库有效,新的设定保存在当前仓库的.git/config 文件里。
git config user.name 'MarkLi'
git config user.email '123456789@qq.com'
git config --global credential.helper store
配置客户端记住密码 git config credential.helper store
git config --global core.editor vim
文本编辑器配置vim git config core.editor vim
git config --global merge.tool vimdiff
差异分析工具vimdiff git config merge.tool vimdiff
从远程仓库 origin 的 master 分支获取最新的更改,并将你的本地更改重新应用到这些最新更改之上,以此来更新你的本地分支,同时保持一个更线性的提交历史。
git remote add origin https://github.com/espressif/esp-idf.git
在Git中,如果你想要忽略某些文件或目录,使其不被Git跟踪或提交到仓库中,你可以使用.gitignore
文件来实现这一点。.gitignore
文件可以指定Git忽略哪些文件或目录,这对于忽略编译生成的文件、日志文件、临时文件等非常有用。
以下是如何使用.gitignore文件来忽略文件或目录的步骤:
- 创建.gitignore文件:
- 如果你的项目目录中还没有.gitignore文件,你需要手动创建一个。你可以使用任何文本编辑器来创建这个文件,并将其保存在你的项目根目录下(即与.git目录同一级)。
- 编辑.gitignore文件:
- 在.gitignore文件中,你可以添加需要Git忽略的文件或目录的模式。每一行可以指定一个模式,Git会忽略与这些模式匹配的文件或目录。
- 例如,如果你想要忽略所有的.log文件和temp/目录,你可以在.gitignore文件中添加以下两行:
*.log
temp/
- Git也支持使用通配符和路径模式来指定更复杂的忽略规则。
- 应用.gitignore文件的更改:
- 一旦你编辑并保存了.gitignore文件,Git就会开始忽略匹配这些模式的文件或目录。但是,请注意,如果你之前已经跟踪了某个文件,并将其添加到了Git仓库中,那么仅仅将该文件添加到.gitignore文件中是不足以让Git停止跟踪它的。
- 要停止跟踪已经被Git跟踪的文件,你需要从Git仓库中删除它(但保留在你的工作目录中),然后提交这个更改。你可以使用git rm --cached <file>命令来从Git仓库中删除文件,但保留在你的工作目录中。然后,你可以提交这个更改(git commit),之后这个文件就会被Git忽略了。
- 分享.gitignore文件:
- 如果你是在一个团队中工作,并且想要确保所有的团队成员都使用相同的.gitignore文件,你可以将.gitignore文件添加到你的Git仓库中,并与其他团队成员共享。这样,每当有人克隆你的仓库时,他们都会自动获得.gitignore文件,并应用相同的忽略规则。
通过以上步骤,你可以有效地使用.gitignore文件来忽略不需要提交到Git仓库中的文件或目录。
git clone --recursive
命令用于克隆一个 Git 仓库及其子模块。当你需要获取一个仓库以及它所有的 Git 子模块时,这个选项非常有用。子模块可以理解为仓库中的另一个独立的 Git 仓库,通常用来管理依赖项或其他分离的项目部分。
下面是如何使用 git clone --recursive
的基本步骤:
- 检查目标仓库是否有子模块:首先,你需要确定你要克隆的目标仓库是否包含子模块。你可以在仓库的 README 或者文档中找到相关信息。
- 克隆仓库:如果你确定要克隆的仓库包含子模块,你可以使用
--recursive
选项来克隆仓库和它的所有子模块。命令如下:git clone --recursive [repository-url]
其中[repository-url]
是仓库的 URL 地址。 - 后续操作:克隆完成后,你的本地仓库将包含主仓库以及所有初始化并检出的子模块。
如果你已经克隆了一个仓库但没有使用 --recursive 选项,你仍然可以初始化并检出子模块:
cd [your-repo]
git submodule update --init --recursive
这条命令将会初始化所有子模块,并递归地检出它们的任何子模块。
注意:
- 如果你在克隆仓库时没有使用 --recursive,那么子模块将只是作为未初始化的目录存在于 .gitmodules 文件中定义的位置。你需要手动初始化并检出这些子模块。
- 如果仓库的子模块层级较深,--recursive 会递归地处理所有层级的子模块。
- 如果你遇到任何身份验证的问题,确保你有正确的访问权限,并且使用了正确的凭据。
本文由博客一文多发平台 OpenWrite 发布!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。