二次开发框架配置git
[将Git与Github进行SSH连接 - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/108972475#:~:text=将公钥添加到 github 中 1 在 C%3A\user\xxx.ssh\ 文件夹中找到 id_rsa.pub,中取一个名字(任意), key 中粘贴你刚刚复制的内容。 然后点击 Add SSH key 即可。)
温馨提示:
应该是不行的,这个时候就要在这个界面提交改动,会弹出来需要认证码的界面,认证过后即可:
模型库
在个人中心->模型->我的模型,查询访问令牌。可以通过令牌进行git仓库的使用。
1 2 3 4
| git clone http://git.aistudio.baidu.com/2554132/Reading-Comprehension-Model-of-Chinese-Medicine.git git clone http://xxxxxxxxxxxxxxxxxxxxxxx@git.aistudio.baidu.com/2554132/Reading-Comprehension-Model-of-Chinese-Medicine.git
|
创建-切换分支
1 2
| # 创建并切换到一个名为 my-cool-stuff 的分支 ➜ git checkout -b my-cool-stuff
|
安装 pre-commit
1
| pip install pre-commit==2.17.0 && pre-commit install
|
查看当前目录变化
1 2 3 4 5 6 7 8
| git remote -v git remote add upstream https://github.com/PaddlePaddle/Paddle git remote -v
origin https://github.com/USERNAME/Paddle.git (fetch) origin https://github.com/USERNAME/Paddle.git (push) upstream https://github.com/PaddlePaddle/Paddle.git (fetch) upstream https://github.com/PaddlePaddle/Paddle.git (push)
|
获取原始 Paddle 仓库的最新代码并更新当前分支。
1
| git fetch upstream && git pull upstream develop
|
Push到远程仓库
1 2
| # my-cool-stuff为分支名 git push origin my-cool-stuff
|
打开(https://github.com/jjyaoao/Paddle)页面,并切换到所建分支,然后单击 Compare & pull request
按钮。
还原到上个版本
回到clone后的初始状态
同步本地代码与Develop
1
| git fetch upstream develop && git merge upstream/develop
|
1
| cd amp && rm -rf *_npu* && cd .. && git status && git add --all && pre-commit && git status
|
模型库
1 2
| AccessToken=27ce32f8a7a2ffceae38867e73ab51400b463435 git clone http://${AccessToken}@git.aistudio.baidu.com/2554132/Reading-Comprehension-Model-of-Chinese-Medicine.git
|
rebase解决冲突
Git Rebase 与解决冲突 - 知乎 (zhihu.com)
1 2 3 4 5 6
| git checkout develop && git fetch upstream && git pull upstream develop && git checkout xxx && git rebase develop
git rebase --continue
git push origin xxx --force-with-lease
|
下一次贡献
(1)切回 Paddle develop 分支
1 2
| ➜ cd Paddle ➜ git checkout develop
|
(2)保持本地仓库最新
1 2
| ➜ git fetch upstream ➜ git pull upstream develop
|
(3)创建新分支
1
| ➜ git checkout -b new_branch
|
解决大文件问题
1 2
| git config lfs.dialtimeout 3600 git config lfs.activitytimeout 3600
|
当你准备向一个 Git 仓库提交大文件的时候,首先,你需要下载和安装 Git LFS 扩展并执行命令:
其次,在 Git 仓库中,你需要通过 git lfs track 命令告诉 Git LFS,你希望它帮你管理哪些文件:
这里以 *.jpg 为例,它表示希望 Git LFS 对所有的 .jpg 格式的文件进行管理,这一步的结果是生成一个名为 .gitattributes 的文件。因此,理论上你可以直接编辑这个文件来达到相同的目的:
1
| *.jpg filter=lfs diff=lfs merge=lfs -text
|
最后,你需要确保 .gitattributes 文件能被 Git 仓库追踪:
一旦完成了这个准备工作,你就可以像平时一样提交和推送变更:
1 2 3
| git add awesome.jpg git commit -m "Add a awesome image file" git push origin main
|
提交后的亡羊补牢
扁鹊见蔡桓公的故事,告诉我们防微杜渐的道理。可如果你是在提交了一个大文件以后,才开始接触 Git LFS 的相关内容。那么,你大概会遇到下面的错误:

你可能会想,既然是这个文件的大小超过了 Github 的限制,那我把这个文件删除掉是不是就可以了呢?经过博主一番挣扎,发现这个思路完全是徒劳的。因为这个大文件就像持续了三年的新冠病毒一样,只要存在被它感染过的历史记录,都会在推送时提示上面的错误。所以,删除这个大文件并不能真正解决问题,我们必须要确保此前的提交历史中没有这个大文件。下面分享一个神奇的命令 git filter-branch :
1
| git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch /src/CSharpWasm/mono-6.12.0.182-x64-0.msi'
|
通过这个命令,我们就可以重写整个提交历史:

此时,我们只需要按提交大文件前的步骤,重新提交该文件即可
git commit后的亡羊补牢
- 创建一个新分支(保留此次操作)
- 回到以前的分支
1
| git checkout xxx(develop)
|
- 回到git Clone后的初始状态
- git log查看commit号,并切换到第一步新建的分支中
1
| git log && git checkout xxx
|
- checkout + cherrypick
1
| git cherry-pick xxxx(commit号)
|
- checkout + swtich
1
| git switch -c xxx(重新开一个新分支) && git checkout xxx && git push origin xxx
|
虽然缓存区status没有显示任何内容,但是可以直接push提交该次commit
添加作者信息
vscode-fileheader插件 + ctrl alt i
追加开源贡献签名
1 2 3 4 5
| # 进行修改 git commit --amend -s
# 推送到远程仓库 git push --force origin <branch-name>
|
删除远程端最后一个分支
1
| git push origin HEAD --force-with-lease
|
1
| git push origin <commit哈希值>:<远程分支名> --force-with-lease
|
合并多个commit
「Git」合并多个 Commit - 简书 (jianshu.com)
输入命令
1 2
| # 这里的mybranch填你当前的分支, 例如jjy1 git push origin mybranch --force-with-lease
|
这样就将两个commit合并成了一个commit。
更改git的commit信息
最新的commit:
- 使用
git log
命令查看需要更改的提交的 SHA-1 值。
- 运行
git commit --amend
命令来更改提交信息。
- 按照提示修改提交信息。
- 使用
git log
命令确保提交信息已更改。
- 运行
git push --force-with-lease
命令来强制推送更改的提交信息。
旧的commit:
(52条消息) git修改历史提交(commit)信息(超详细,图文并茂)_git修改之前的commit信息_Allen Wu(WU, ZHWIEI)的博客-CSDN博客
rebase来调整已经提交的commit
- 首先,确保你的当前分支是你想要修改的分支。你可以使用
git branch
命令来查看你当前的分支。
- 然后,你可以使用
git rebase -i HEAD~n
来开始一个交互式的 rebase。这里的 n
是你想要修改的最近的 commit 数量。例如,如果你想要修改最近的 3 个 commit,你可以运行 git rebase -i HEAD~3
。
- 在交互式 rebase 中,你会看到一个列表,其中列出了你选择的 commit。在每个 commit 前面,你会看到 “pick” 字样。你可以将 “pick” 修改为其他命令来改变这个 commit。例如,你可以将 “pick” 改为 “reword” 来修改 commit 信息,或者改为 “edit” 来修改 commit 的内容。
- 在你修改完 commit 之后,你可以使用
git rebase --continue
来完成 rebase。
- 最后,你需要将你的修改推送到远程仓库。由于 rebase 会改变你的 Git 历史,所以你需要使用
git push origin <your-branch> --force
或 git push origin <your-branch> --force-with-lease
来强制推送。