【git】提交github代码
这个警告信息是 Git 提醒你,当你的 .gitignore 文件被修改并再次被 Git 处理时,文件中的换行符(LF)将会被转换为 Windows 风格的换行符(CRLF)。在执行这些命令之前,请确保你已经在你的本地机器上有一个Git仓库,并且你有足够的权限向远程GitHub仓库推送代码。文件,提交这个文件,然后将本地仓库与远程GitHub仓库关联,并推送代码到远程仓库的步骤。的仓库,并且你有权
常用命令
查看配置选项
git config --list
- diff.astextplain.textconv=astextplain:
- 这是 Git 差异工具的配置,用于处理特定类型的文件差异。
- filter.lfs:
- 这些配置与 Git LFS(Large File Storage)相关,用于处理大文件。
- http.sslbackend=openssl:
- 指定 Git 使用 OpenSSL 作为 SSL 后端。
- http.sslcainfo:
- 指定 SSL 证书的路径,Git 会用这个证书来验证 HTTPS 连接。
- core.autocrlf=true:
- 然后被设置为 false,这意味着 Git 将不会在 Windows 系统上自动转换 LF(换行符)到 CRLF。
- core.fscache=true:
- 启用文件系统缓存。
- core.symlinks=false:
- 不允许 Git 跟随符号链接。
- pull.rebase=false:
- 禁用了默认的变基操作,当你执行
git pull
时,Git 将执行合并而不是变基。
- 禁用了默认的变基操作,当你执行
- credential.helper=manager:
- 指定了凭证管理器。
- credential.https://dev.azure.com.usehttppath=true:
- 这是一个特定的配置,用于 Azure DevOps 服务的凭证管理。
- init.defaultbranch=master:
- 设置了默认分支名称为
master
。
- 设置了默认分支名称为
- user.email=usr.email@xx.com:
- 你的 Git 配置的电子邮件地址。
- core.repositoryformatversion=0:
- 仓库格式版本。
- core.filemode=false:
- 不跟踪文件的执行权限。
- core.bare=false:
- 当前仓库不是一个裸仓库。
- core.logallrefupdates=true:
- 记录所有的引用更新。
- core.ignorecase=true:
- 在文件名比较时忽略大小写。
- remote.origin.url:
- 远程仓库
origin
的 URL。
- 远程仓库
- remote.origin.fetch:
- 定义了从远程
origin
获取所有分支的策略。
- 定义了从远程
- branch.master.remote=origin:
- 指定
master
分支的远程跟踪分支。
- 指定
- branch.master.merge=refs/heads/master:
- 指定
master
分支合并到的远程分支。
这些配置为你的 Git 操作提供了环境和行为设定。需要修改任何配置,可以使用git config
命令,比如:
- 指定
git config --global core.autocrlf input
这会将 core.autocrlf
设置为 input
,这意味着 Git 会将 LF 转换为 CRLF 仅在你提交时,并且在检出时将 CRLF 转换回 LF。
echo "# P2Pnet" >> README.md
- 这个命令会在当前目录下创建(如果不存在的话)或追加(如果已存在的话)一个名为
README.md
的文件,并写入内容# P2Pnet
。
git init
- 初始化一个新的Git仓库。这会在当前目录下创建一个
.git
目录,用于存储所有的Git仓库数据。
git add README.md
- 将
README.md
文件添加到Git的暂存区(staging area),准备下一次提交。
git commit -m "first commit"
- 提交暂存区的文件到仓库,并附上提交信息“first commit”。
git branch -M main
- 将当前分支重命名为
main
。这是GitHub默认的主分支名称,也是许多项目的首选分支名。
git remote add origin https://github.com/galaxy-vagrant/P2Pnet.git
- 添加一个名为
origin
的远程仓库,其URL是https://github.com/galaxy-vagrant/P2Pnet.git
。
git push -u origin main
- 将本地的
main
分支推送到远程仓库的main
分支,并设置origin
为main
分支的上游(tracking)仓库。
# 添加所有未跟踪的文件到暂存区,但会跳过 .gitignore 文件中指定的文件
git add .
# 或者只添加特定的文件或文件夹
git add path/to/your/file
git add path/to/your/folder/
# 提交你添加到暂存区的文件:
git commit -m "Add project files"
# 使用 git push 命令将更改推送到 GitHub 仓库
git push origin master
处理已跟踪的忽略文件:
如果之前已经将一些现在想要忽略的文件添加到了 Git 仓库,需要先从 Git 仓库中移除这些文件
# 使用 --cached 选项可以确保文件从 Git 仓库中移除,但保留在你的本地文件系统中
git rm --cached path/to/ignored/file
git commit -m "Remove ignored files from Git tracking"
git push origin master
本地Git仓库与远程GitHub仓库关联,推送代码
-
git remote add origin https://github.com/galaxy-vagrant/P2Pnet.git
- 这个命令将远程仓库的URL添加到本地仓库的配置中,并给它一个名字
origin
。这个名字是常用的命名约定,代表远程仓库的默认分支。
- 这个命令将远程仓库的URL添加到本地仓库的配置中,并给它一个名字
-
git branch -M main
- 这个命令将当前分支强制重命名为
main
。-M
参数表示强制重命名,即使当前分支有未提交的更改也会执行。
- 这个命令将当前分支强制重命名为
-
git push -u origin main
- 这个命令将本地的
main
分支推送到远程仓库的main
分支。-u
参数设置了上游(upstream)跟踪,这意味着以后当你使用git push
或git pull
命令时,Git会自动知道要与哪个远程分支交互。
- 这个命令将本地的
git clone https://github.com/usr-name/xxnet.git
cd P2Pnet
git remote add origin https://github.com/usr-name/xxnet.git
git branch -M main
git push -u origin main
这些命令会克隆远程仓库到你的本地机器,然后设置远程仓库的URL,重命名当前分支为main
,并将更改推送到远程仓库。
.gitignore
如果已经创建了 .gitignore
文件并且添加了要忽略的文件规则,那么 Git 将自动应用这些规则。以下是确保 .gitignore
文件正确使用并上传到远程仓库的步骤:
-
确保
.gitignore
文件正确添加规则:
打开.gitignore
文件,检查是否已经包含了要忽略的文件规则,例如:pre_gd_cnt.txt
-
将
.gitignore
文件添加到 Git 仓库:
如果你还没有将.gitignore
文件添加到 Git 仓库,使用以下命令:
git add .gitignore
warning: in the working copy of '.gitignore', LF will be replaced by CRLF the next time Git touches it
这个警告信息是 Git 提醒你,当你的 .gitignore 文件被修改并再次被 Git 处理时,文件中的换行符(LF)将会被转换为 Windows 风格的换行符(CRLF)。这是由于 Git 在 Windows 系统上默认使用 CRLF 作为换行符,而在 Unix-like 系统(如 Linux 和 macOS)上使用 LF。
这个警告通常不会影响 .gitignore 文件的功能,因为 Git 会正确地处理文件中的规则,无论它们使用的是 LF 还是 CRLF。然而,如果你在多个操作系统上工作,或者与使用不同操作系统的团队成员合作,这可能会导致一些混淆。
设置 Git 在 Windows 上使用 LF 换行符,这样就不会在 .gitignore 文件中看到 CRLF 了。使用以下命令:
git config --global core.autocrlf false
- 提交
.gitignore
文件:
提交.gitignore
文件到你的本地 Git 仓库:
git commit -m "Add .gitignore to ignore specific files"
git commit -m "Add .gitignore to ignore specific files"
[master (root-commit) d52d8f4] Add .gitignore to ignore specific files
1 file changed, 21 insertions(+)
create mode 100644 .gitignore
根据你提供的 Git 命令输出信息,你已经成功地将 .gitignore
文件添加到了你的 Git 仓库中,并且已经进行了第一次提交。以下是步骤的总结:
创建 .gitignore
文件:
你创建了 .gitignore
文件,并且可能已经添加了一些规则来指定 Git 应该忽略的文件。
添加并提交 .gitignore
文件:
你使用 git add
命令将 .gitignore
文件添加到了暂存区,然后使用 git commit
命令将其提交到了你的本地 Git 仓库。
查看提交信息:
提交后,你看到了一条信息,表明 .gitignore
文件已经被添加到了你的仓库中,并且有 21 行内容被添加。同时,create mode 100644
表示这是一个新文件,并且它的权限模式被设置为 100644。
现在,.gitignore
文件已经在你的 Git 仓库中,并且它的规则将开始生效。这意味着 Git 将不再跟踪 .gitignore
文件中指定的文件和文件夹。
4. 推送 .gitignore
文件到远程仓库:
将 .gitignore
文件推送到远程仓库:
git push origin main
$ git push origin main
error: src refspec main does not match any
error: failed to push some refs to 'origin'
- 确保你的分支名是正确的,如果不是
main
,请替换为实际的分支名。
这个错误信息表明你在尝试将本地的 main 分支推送到远程仓库时遇到了问题。错误error: src refspec main does not match any
指出 Git 没有找到名为 main 的本地分支来推送。
这可能有几个原因:
本地没有 main 分支:你可能在错误的分支上,或者你的默认分支名是 master 而不是 main。
远程仓库没有 main 分支:如果远程仓库是新创建的,可能还没有 main 分支。
拼写或大小写错误:分支名在 Git 中是区分大小写的,确保你使用的分支名是正确的。
git branch
* master
默认分支名是 master,使用
git push -u origin master
git push -u origin master
fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
这个错误信息表明 Git 无法识别名为 origin 的远程仓库。这可能是因为以下几个原因:
远程仓库 URL 错误或不存在:你可能没有正确设置远程仓库的 URL,或者远程仓库已经被删除。
没有添加远程仓库:你可能还没有将你的本地仓库与远程仓库关联。
访问权限问题:你可能没有足够的权限访问远程仓库。
检查远程仓库是否已经正确添加并且 URL 是正确的
列出所有配置的远程仓库及其 URL。如果没有列出 origin,或者 URL 看起来不正确,你需要重新添加远程仓库。
git remote -v
添加或修改远程仓库
$ git remote add origin https://github.com/usr-name/xxnet.git
再次推送 添加或修改远程仓库后,再次尝试推送:
$ git push -u origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 32 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 401 bytes | 401.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
To https://github.com/galaxy-vagrant/P2Pnet.git
* [new branch] master -> master
branch 'master' set up to track 'origin/master'.
已经成功地将本地的 master
分支推送到了远程仓库 origin
的 master
分支
- 枚举对象:Git 计算了需要推送的对象数量。
- 计数对象:Git 完成了对象的计数。
- Delta 压缩:Git 使用 Delta 压缩来减少网络传输的数据量。
- 压缩对象:Git 完成了对象的压缩。
- 写入对象:Git 将对象写入了远程仓库。
- 推送结果:推送操作成功,
master
分支被推送到了https://github.com/galaxy-vagrant/P2Pnet.git
。 - 新分支:这是你第一次推送
master
分支到远程仓库,所以 Git 标记了它为新分支。 - 跟踪分支:本地的
master
分支现在设置为跟踪远程的origin/master
分支。
现在可以继续在本地进行开发,并且当你想要同步到远程仓库时,只需使用git push
命令即可。同样地,当你想要从远程仓库拉取最新的更改时,可以使用git pull
命令。
添加所有文件到Git:
$ git add .
提交这些文件到你的本地仓库
$ git commit -m "Initial commit"
[master 8b40d0b] Initial commit
46 files changed, 4139 insertions(+)
create mode 100644 LICENSE
create mode 100644 README.md
create mode 100644 README_vagrant.md
create mode 100644 __pycache__/engine.cpython-38.pyc
create mode 100644 crowd_datasets/SHHA/SHHA.py
create mode 100644 crowd_datasets/SHHA/__init__.py
create mode 100644 crowd_datasets/SHHA/__pycache__/SHHA.cpython-38.pyc
create mode 100644 crowd_datasets/SHHA/__pycache__/__init__.cpython-38.pyc
create mode 100644 crowd_datasets/SHHA/__pycache__/loading_data.cpython-38.pyc
create mode 100644 crowd_datasets/SHHA/loading_data.py
create mode 100644 crowd_datasets/__init__.py
create mode 100644 crowd_datasets/__pycache__/__init__.cpython-38.pyc
create mode 100644 crowd_datasets/dataset_tools/convert_to_center_points.py
create mode 100644 crowd_datasets/dataset_tools/create_list.py
create mode 100644 crowd_datasets/dataset_tools/draw_points_on_image.py
create mode 100644 crowd_datasets/dataset_tools/move_images.py
create mode 100644 engine.py
create mode 100644 log/run_log.txt
create mode 100644 models/__init__.py
create mode 100644 models/__pycache__/__init__.cpython-38.pyc
create mode 100644 models/__pycache__/backbone.cpython-38.pyc
create mode 100644 models/__pycache__/matcher.cpython-38.pyc
create mode 100644 models/__pycache__/p2pnet.cpython-38.pyc
create mode 100644 models/__pycache__/vgg_.cpython-38.pyc
create mode 100644 models/backbone.py
create mode 100644 models/matcher.py
create mode 100644 models/p2pnet.py
create mode 100644 models/vgg_.py
create mode 100644 requirements.txt
create mode 100644 run_test.py
create mode 100644 run_test_processfor_folder.py
create mode 100644 tools_usr/Count_Lines.py
create mode 100644 tools_usr/__pycache__/Count_Lines.cpython-38.pyc
create mode 100644 tools_usr/calculate_mae.py
create mode 100644 tools_usr/calculate_metric.py
create mode 100644 tools_usr/vision_mae_mse.py
create mode 100644 train.py
create mode 100644 util/__init__.py
create mode 100644 util/__pycache__/__init__.cpython-38.pyc
create mode 100644 util/__pycache__/misc.cpython-38.pyc
create mode 100644 util/misc.py
create mode 100644 vis/congested1.png
create mode 100644 vis/congested2.png
create mode 100644 vis/congested3.png
create mode 100644 vis/demo1.jpg
create mode 100644 vis/net.png
推送代码到GitHub:
$ git push -u origin master
Enumerating objects: 62, done.
Counting objects: 100% (62/62), done.
Delta compression using up to 32 threads
Compressing objects: 100% (58/58), done.
Writing objects: 100% (61/61), 14.64 MiB | 845.00 KiB/s, done.
Total 61 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0)
remote: Resolving deltas: 100% (2/2), done.
To https://github.com/usr-name/xxnet.git
d52d8f4..8b40d0b master -> master
branch 'master' set up to track 'origin/master'.
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)