Github入门
GitHub Learning Lab
官网https://lab.github.com/courses
开源中国的在线沙箱 https://oschina.gitee.io/learn-git-branching/
Git常用命令
1 // git在本地创建仓库 2 git init 3 echo "Hello World!" > README.md 4 git add -A 5 git commit -m "my first commit" 6 // 然后去Github创建一个仓库"luren" 7 git remote add origin https://github.com/xiaoming/luren.git 8 git push -u origin master 9 10 11 // 如果远程仓库更新了而本地没同步,先pull再在本地解决冲突,之后merge 12 git pull origin master 13 git branch -a 14 git merge remotes/origin/master 15 git push -u origin master 16 17 // 如果提示refusing to merge unrelated histories(当然你得确定是这个仓库) 18 git pull origin master --allow-unrelated-histories 19 20 // 如果提示 而你不想git修改你的文件,可以从全局关掉它 21 // 更多换行符设置详见https://www.hhcycj.com/post/item/264.html 22 git config --global core.autocrlf false 23 24 // git 推送代码到已有仓库 25 git add -A 26 git commit -m "add new Function" 27 git push -u origin master
注:关于Github课程
This branch has not been deployed
Review required
Merging is blocked
这个合并报错并非操作失误,而是管理课程的人加了审核
所以必须仔细看,最好不要关掉这个页面 。第三节时会在Pull Requests和你继续教程内容
Tips:在页面的chrome开发工具打开时 ,鼠标按住刷新键可以选择强制刷新模式(不使用缓存)
此外Git还有很多功能 ,如submodule可以定义手动同步上游模块。(微软最新的终端项目仓库就用了这个东西,节省了托管服务器带宽)
github fork 别人的项目源作者更新后如何同步更新(直接在GitHub网页上更新同步已Fork的仓库代码)
注: fork 来源于 Linux 克隆进程的函数 fork(), 作用是克隆出一个子进程,然后子进程不再随着父进程同步更新,一般不再保持一致,而是独立发展。
附上安全解决git报错(push declined due to email privacy restrictions)
git报错-->! [remote rejected] master -> master (push declined due to email privacy restrictions) - 小辉辉的博客 - CSDN博客
附上为本地代码新建仓库并推送本地代码到远程仓库:
git-push到多个远程仓库,github,coding - mbinary - CSDN博客
GitHub 第一坑:换行符自动转换 [Windows用户必看]
Linux中apt与apt-get命令的区别与解释 - 系统极客
Windows下Git多账号配置,同一电脑多个ssh-key的管理
如果团队经常使用100M以上的单文件,建议看: Git LFS的使用
另外,关于获取指定commit的记录
有趣的用法:建立静态博客网站
·虽然是静态的,但是引用一些js之后,连目录检索和评论功能都能拥有
参考:https://zhuanlan.zhihu.com/p/60578464
git rebase -i HEAD~3
表示合并后"消灭"3个commit
生成本机秘钥用于连接远程服务器-简化例子:
ssh-keygen -t rsa
如果你已经克隆了项目但忘记了 --recurse-submodules,那么可以运行 git submodule update --init 将 git submodule init 和 git submodule update 合并成一步。如果还要初始化、抓取并检出任何嵌套的子模块, 请使用简明的
git submodule update --init --recursive
https://git-scm.com/book/zh/v2/Git-工具-子模块
Github Actions
账号设置里生成应用密钥 https://github.com/settings/tokens
仓库设置里 secrets 添加密钥常量
然后 Actions 里配置即可(附上 Maven 发布到仓库 package 的 例子 https://help.github.com/en/actions/language-and-framework-guides/publishing-java-packages-with-maven#publishing-packages-to-github-packages)
附上 Maven 命令参数 -B 是批处理模式,不受用户交互的影响
https://blog.csdn.net/qq_35893120/article/details/70207535