文章目录
Ctrl + Shift + P 显示所有命令
Ctrl + P 转到文件
Ctrl + Shift + F 在文件中寻找
F5: 开始调试
Ctrl + ` 切换终端
初始化配置Git
进行一些初始化配置
git config --global user.name “David_Yang”
git config --global user.name "David_Yang"
是一个Git配置命令,用于设置全局用户的姓名。
在Git中,每次提交代码都会记录该提交的作者信息,包括作者的姓名和邮箱地址。通过设置全局用户的姓名,你可以在所有Git仓库中使用相同的姓名作为默认的作者姓名。
具体地说,user.name
是一个Git配置选项,用于设置用户的姓名。在命令中,"David_Yang"
是你的姓名。
通过执行 git config --global user.name "David_Yang"
这个命令,你将全局用户的姓名设置为指定的姓名。在以后的提交中,如果没有为特定的仓库单独设置姓名,Git就会默认使用这个全局配置的姓名作为作者的姓名。
请注意,在实际使用时,你需要将命令中的姓名改为你自己的姓名以确保准确性。
git config --global user.email “3222621243@qq.com”
git config --global user.email "<3222621243@qq.com>"
是一个Git配置命令,用于设置全局用户的邮箱地址。
在Git中,每次提交代码都会记录该提交的作者信息,包括作者的名称和邮箱地址。通过设置全局用户的邮箱地址,你可以在所有Git仓库中使用相同的邮箱地址作为默认的作者邮箱。
具体地说,user.email
是一个Git配置选项,用于设置用户的邮箱地址。在命令中,<3222621243@qq.com>
是你的邮箱地址,将其放在引号中是为了避免特殊字符对命令的解析产生干扰。
通过执行 git config --global user.email "<3222621243@qq.com>"
这个命令,你将全局用户的邮箱地址设置为指定的地址。在以后的提交中,如果没有为特定的仓库单独设置邮箱地址,Git就会默认使用这个全局配置的邮箱地址作为作者的邮箱。
请注意,在实际使用时,你需要将命令中的邮箱地址改为你自己有效的邮箱地址以确保准确性。
git config --global merge.conflictstyle diff3
git config --global merge.conflictstyle diff3
是一个Git配置命令,用于设置合并冲突的展示风格为 diff3。
合并冲突是在合并分支时发生的情况,当同一个文件的不同部分被不同的分支进行了修改,Git 就会标记出这些冲突点。这时,你需要手动解决这些冲突,并决定如何将这些不同的修改内容合并到一个统一的结果中。
merge.conflictstyle
是一个Git配置选项,用来指定展示合并冲突时所使用的风格。diff3
是其中一种风格,它会在合并冲突标记中同时展示三个版本的内容:基础版本(common ancestor)、当前分支版本和合并分支版本。
通过设置 merge.conflictstyle
为 diff3
, 在解决合并冲突时,你可以很方便地看到基于哪个基础版本进行了修改,从而更好地理解冲突的上下文和原因。这有助于更准确地进行解决冲突的决策。
使用 --global
参数意味着这个配置将应用于你的整个本地Git环境,而不仅仅是当前仓库。你只需执行一次该命令,后续的合并冲突在任何仓库中都会采用 diff3 风格展示。
git config --list
git config --list
是一个Git命令,用于列出当前Git配置的所有信息。
当你执行 git config --list
命令时,Git会显示所有的配置信息,包括全局配置和当前仓库的配置。这些配置信息以键值对的形式列出,每行显示一个配置项,键和值之间使用等号(=)分隔。
示例输出可能如下所示:
user.name=David_Yang
user.email=3222621243@qq.com
core.repositoryformatversion=0
core.filemode=true
core.bare=false
...
通过查看 git config --list
的输出,你可以获取当前Git环境中所有配置的详细信息,包括用户名、邮箱地址、仓库相关的设置以及其他一些配置项。
注意,--list
参数是用来显示所有配置信息的,你也可以通过指定不同的参数来查看特定的配置项,比如 git config user.name
会显示当前设置的用户姓名。
创建项目文件夹,并初始化
使用以下Git命令来实现将本地电脑的一个项目作为主分支放入新的Git仓库中:
1. 初始化新的Git仓库:
git init
2. 将另一个项目文件复制或移动到新的Git仓库文件夹中。
在Git中,可以使用以下命令来将另一个项目文件复制或移动到新的Git仓库文件夹中:
-
首先,进入另一个项目文件夹:
cd /path/to/另一个项目文件夹
-
然后,将所有文件复制到新的Git仓库文件夹中:
cp -R . /path/to/新的Git仓库文件夹
或者,如果你想要移动而不是复制文件,可以使用以下命令:
mv -R . /path/to/新的Git仓库文件夹
这会将另一个项目文件夹中的所有文件(包括子文件夹)复制或移动到新的Git仓库文件夹中。
-
切换到新的Git仓库文件夹:
cd /path/to/新的Git仓库文件夹
现在,你已经将另一个项目文件复制或移动到新的Git仓库文件夹中了。在进行这些操作之前,请确保你已经备份了重要的项目文件,并且明确了你想要将另一个项目作为新的Git仓库的文件。
3. 将文件添加到暂存区:
将所有文件添加到暂存区
git add .
添加文件夹folder
到暂存区
git add folder_name
添加指定文件 main.py 到暂存区
git add main.py
添加多个指定文件 1.py 、 2.py 、3.py 到暂存区
git add 1.py 2.py 3.py
Git add指定文件是一种非常有用的功能,可以帮助我们更好地控制版本控制过程。通过使用git add指定文件,我们可以选择性地将特定的文件添加到暂存区,而不是所有更改的文件。这样可以减少提交的文件数量,使提交更加清晰和有序。使用git add指定文件还可以提高工作效率,节省时间和精力。
4. 提交代码:
git commit -m "提交说明"
5. 设置主分支(master):
git branch -M master
git branch -M master
是一个Git命令,用于重命名当前分支为 “master”。
具体解释如下:
git branch
是用于管理Git分支的命令。-M
选项是用来移动/重命名分支的标志。它的全称是--move
。master
是你想将当前分支重命名为的新名称。
通过执行 git branch -M master
这个命令,你将当前分支(无论它的旧名称是什么)重命名为 “master”。
需要注意的是,之前默认的主分支名称是 “master”,但在一些Git服务提供商和社区中,为了不使用与奴役(slavery)相关的术语,推动更加包容的语言,改用了其他名称,如 “main” 或 “default”。你可以根据自己的需求选择合适的分支名称来进行设置。
6. 移除远程仓库(如果需要的话):
git remote remove origin
在Git中,你可以将你的本地仓库与一个或多个远程仓库进行关联。当你使用git remote add
命令将远程仓库添加到你的本地仓库时,通常会给远程仓库指定一个名称,比如origin
。这个名称是默认的命名约定,它用来表示主要的远程仓库。
如果你现在想要移除关联的远程仓库,可以使用git remote remove
命令,后跟你要移除的远程仓库的名称。在你的情况下,名称是origin
。
所以,git remote remove origin
命令的作用是移除与当前本地仓库关联的名为origin
的远程仓库。这样一来,你的本地仓库就不再与该远程仓库进行关联。
这个步骤通常在将另一个项目作为新的主分支时使用。移除远程仓库是因为你正在将另一个已存在的项目纳入新的Git仓库中,原有的远程仓库关联已不再需要。
通过执行这些Git命令,你可以将另一个项目作为主分支放入新的Git仓库中。请确保在执行这些操作前,你已经备份了重要的项目文件,并且你确实想要将另一个项目作为新的主分支。
创建分支项目
下载github项目
下载github项目到本地
git clone https://github.com/octocat/hello-world.git
Git的标签tag
查看标签 git tag
添加标签 `git tag -a v1.0
删除标签
warning处理
warning: in the working copy of
‘gorge_walk_v2_291/data/projects/kaiwu-fwk/kaiwu.json’, LF will be
replaced by CRLF the next time Git touches it
这个警告意味着在你的项目中,Git 发现某个文件的换行符(Line Ending)是 LF(换行符)而不是 CRLF(回车换行符)。Git 会在下次对该文件进行操作时自动将 LF 替换为 CRLF。
LF 和 CRLF 是两种常见的换行符表示符号:
- LF(Line Feed):在 Unix、Linux 和 macOS 等操作系统中通常使用 LF 作为换行符。
- CRLF(Carriage Return + Line Feed):而在 Windows 操作系统中,通常使用 CRLF 作为换行符。
这个警告提示说明,Git 在你的项目中遇到了某个文件的换行符格式与你当前系统的预期格式不一致。为了提供一致的跨平台兼容性,Git 会将换行符格式替换为 CRLF。
你可以选择接受这个警告并继续进行操作,Git 会自动转换换行符格式。如果你希望保持文件在版本控制中的原始换行符格式,你可以在 Git 配置中设置相应的选项。例如,你可以使用以下命令来告诉 Git 不要自动更改换行符格式:
git config core.autocrlf false
请注意,这个警告只是提醒你关于换行符的变化,并不会对你的项目产生实质性的影响。
https://www.cnblogs.com/grandrat/p/12353396.html
https://www.cnblogs.com/lw484014130/p/12362515.html
其他功能
查看日志
git log 命令
使用给git log命令查看代码添加情况:
分支代码在哪修改?
工作目录在哪?
.git目录与工作目录
要修改Git分支的内容,你需要在工作目录中修改相应的文件。工作目录是Git项目根目录中的实际文件夹,与.git
目录分开存放。
工作目录会自动更新
默认情况下,工作目录中的文件在切换分支时会自动更新为当前分支的文件版本。
因此,如果你切换到一个新的分支并进行文件修改,只需要在工作目录中找到相应的文件进行修改即可。
以下是一些常见的操作步骤:
-
使用终端或文件资源管理器进入Git项目的根目录:
$ cd /path/to/your/git/project
-
查看工作目录中的文件和文件夹,找到你想要修改的文件:
$ ls file1.txt file2.txt folder/
-
使用文本编辑器或其他适当的工具打开所需文件进行修改。例如,使用命令行编辑器(如vim、nano):
$ nano file1.txt
-
在编辑器中进行所需的修改,保存文件并关闭编辑器。
-
现在你已经修改了工作目录中的文件,可以使用相应的Git命令对修改进行管理,例如
git add
、git commit
等。
请注意,Git分支是通过跟踪源代码中的文件内容差异来实现的,并不真正存在于文件系统中。所以无需直接修改.git
目录中的文件。你只需要关注工作目录中的文件,然后通过Git命令来进行分支管理。
保存分支的修改
如果你在分支中修改了model.py
文件,并想将修改保存到当前分支中,可以按照以下步骤进行:
-
首先,在你修改的文件所在的工作目录中,使用Git命令
git status
来查看修改的状态:$ git status
-
确保
model.py
文件出现在"Changes not staged for commit"或"Changes to be committed"的列表中,这表示文件已被修改。 -
使用Git命令
git diff
来查看对文件的具体修改:$ git diff model.py
-
如果确认修改没有问题,可以将修改添加到暂存区:
$ git add model.py
-
接下来,使用
git commit
命令来创建一个新的提交,将修改保存到当前分支:$ git commit -m "Update model.py"
-
最后,推送修改到远程仓库(如果有需要):
$ git push origin <branch-name>
请确保替换<branch-name>
为你正在工作的分支的名称。
通过完成上述步骤,你就可以将model.py
文件的修改保存到分支中了。根据需要,你还可以继续在当前分支中进行更多的修改和提交。
在commit中设定提交信息
当你执行git commit
命令时,如果没有指定提交信息,Git会打开你配置的默认文本编辑器,并要求你输入相应的提交信息。也就是我们需要说明我们对分支的修改做一个简短的说明。
在提示中,Git显示了一段注释,指出了如何编写提交信息。如果一行以#
开头,Git会忽略该行内容。
在你的编辑器中,你需要在注释之后输入实际的提交信息。你可以简单描述你对model.py
文件的修改,以便其他人或你自己日后可以了解这个提交的目的或变动。
举例来说,假如你对model.py
文件进行了一些优化,你的提交信息可以是:“Optimize performance in model.py”。
完成提交信息输入后,保存并关闭你的编辑器。之后,Git会继续完成提交操作。
如果你的编辑器没有自动关闭,并且Git显示了"Waiting for your editor to close the file…"的提示,可能有几种原因导致这种情况发生:
- 编辑器在后台运行,并未被正确关闭。
- 编辑器没有返回正确的退出代码,导致Git无法检测到它已经关闭。
解决方法可以尝试以下几种:
- 如果你的编辑器在后台运行,请确保手动关闭它。
- 重新配置Git的默认文本编辑器,尝试使用另一个编辑器来进行提交操作。
- 使用
git commit -m "Your commit message"
命令来提交,并直接在命令中指定提交信息,而不需要打开编辑器。
删除文件
如果你已经使用了 git rm
命令或手动删除了一个文件,并想要将此删除操作提交到Git仓库中,你需要执行以下步骤:
-
使用
git rm
命令删除文件。例如,如果要删除名为file.txt
的文件,可以运行以下命令:git rm file.txt
如果你手动删除了文件,而没有使用
git rm
命令,可以跳过这一步。 -
运行
git commit
命令,提交你的变动。git commit -m "Delete file.txt"
在
-m
参数后面的引号中,你可以编写一个简要的提交信息,描述你删除文件的操作。 -
运行
git push
命令,将提交推送到远程仓库。git push
这将把你的本地删除操作同步到远程仓库中。
这样,你就成功地将文件删除操作提交到Git仓库中了。
请谨慎使用 git rm
命令或手动删除文件,因为删除操作是不可恢复的。确保你要删除的文件不再需要,并且已经在Git中做了适当的备份。
删除文件夹
要在Git中删除文件夹及其所有内容,可以按照以下步骤操作:
-
使用
git rm
命令删除文件夹。你需要使用-r
或--recursive
参数来递归地删除文件夹内的所有文件和子文件夹。例如,如果要删除名为folder
的文件夹,可以运行以下命令:git rm -r folder
这将从工作区和索引中删除文件夹及其内容。
-
运行
git commit
命令,提交你的变动。git commit -m "删除文件夹 folder"
在
-m
参数后面的引号中,你可以编写一个简明扼要的提交信息,描述你删除文件夹的操作。 -
运行
git push
命令,将提交推送到远程仓库。git push
这将把你的本地删除操作同步到远程仓库中。
删除文件夹后,它将不再出现在工作区中,并且在下一次的提交中,文件夹及其内容将从Git仓库中完全删除。
请注意,删除文件夹是一个不可逆的操作,请确保你要删除的文件夹及其内容不再需要,并且已经在Git中适当地备份。
Git与GitHub的关系
Git GUI
Git Bash
提交到GitHub
- 首先在项目文件夹中使用
git bash here
- 输入命令
git init
,进行初始化 - 输入命令
git add .
,缓存所有文件 - 输入命令
git commit -m "first commit
, 提交缓存 - 输入命令
git remote set-url origin https://[your_token]/[your_name]/[resporitory_name].git
关联github仓库 - 输入命令
git push -u origin master
, 将本地项目提交到github仓库
git 报错
error: RPC failed; curl 56 Recv failure: Connection was reset
参考这篇博客