GitHub:修订间差异
跳到导航
跳到搜索
第97行: | 第97行: | ||
* Your changes will be published as activity. | * Your changes will be published as activity. | ||
* Actions history and logs will be visible to everyone. | * Actions history and logs will be visible to everyone. | ||
=== Example === | |||
DT=`date '+%Y/%m/%d %H:%M:%S'` | |||
git add . | |||
git commit -m "User-defined class libraries, $DT" | |||
git push | |||
之前最好用 git status 确认一下。 | |||
=== Error === | === Error === |
2024年11月4日 (一) 11:20的最新版本
GitHub Person
价格计划(免费版)
- Free
- The basics for individuals and organizations
- Unlimited public/private repositories
- Host open source projects in public GitHub repositories, accessible via web or command line. Public repositories are accessible to anyone at GitHub.com.
- 2,000 automation minutes/month
- Free for public repositories
- Use execution minutes with GitHub Actions to automate your software development workflows. Write tasks and combine them to build, test, and deploy any code project on GitHub.
- 500MB of Packages storage
- Free for public repositories
- Host your own software packages or use them as dependencies in other projects. Both private and public hosting available.
- New Issues & Projects (beta)
- Community support
- 免费(个人)版支持无限个数的私有(或公有)仓库, 每月2000分钟的自动构建时长, 单仓库最大 500M.
- 查看详情: https://github.com/pricing
- CI/CD,全称:持续集成 (Continuous Integration) ,持续部署 (Continuous Deployment) ,是开发流程的自动化利器
Git
- 当前机器中有 id_rsa
- 远程 github 中已加载 id_rsa.public(settings -> Access -> SSH &GPG keys)
INIT
- git init
- 在当前目录下建立 .git 目录
- clone 的目录在此目录下
git config --global user.name ldscfe git config --global user.email [email protected] git config --global color.ui true # git status等命令自动着色
# git config --list
# 自动判断提交位置(clone多个库) git config --global push.default matching
Repository
clone 远程仓库
# 需要在当前 repositories 下 settings/Deploy keys 中有相应 RSA publickey # 客户端中 .ssh 中有相应的 id_rsa git clone [email protected]:ldscfe/pangolin.git .-OR-. # 记录 token: Settings -> Developer Settings -> Personal access tokens -> tokens(classic) git clone https://<Token Name>:<Token>@github.com/ldscfe/devudefj2.git
刷新
git pull
增加文件
git status # 查看文件状态 git add $FN git add . # 所有
提交
# 需要 git add git commit -m "comment content" git push
去除文件&目录
# .gitignore log/ target/ src/test/ .DS_Store .gitignore # 已 git add 的文件,在 .gitignore 中标识无效 git rm -f ${FN} # 已 git add 的文件,删除后.gitignore 中标识有效
分支
# 分支之间切换、恢复文件、创建新分支等 git checkout <branch-name> # 从当前分支切换到指定的分支 <branch-name>, 或主分支:master git checkout - # 快速切换回前一个分支 git checkout -- <file> # 将指定文件 <file> 恢复到最新的提交状态,丢弃所有未提交的更改 git checkout -b <new-branch-name> # 创建一个新分支 <new-branch-name> 并切换 ... # 推送本地和远程都存在的同名分支 git config --global push.default matching
Creating remote repositories
git remote add ldscfe_cpp [email protected]:ldscfe/cpp.git git remote add ldscfe_pangolin [email protected]:ldscfe/pangolin.git git remote add ldscfe_udefpy3 [email protected]:ldscfe/udefpy3.git #You can use the command git remote set-url to change a remote's URL. git remote set-url <REMOTE_URL>
Public Effect
settings -> Danger Zone -> Change visibility
- The code will be visible to everyone who can visit https://github.com
- Anyone can fork your repository.
- All push rulesets will be disabled.
- Your changes will be published as activity.
- Actions history and logs will be visible to everyone.
Example
DT=`date '+%Y/%m/%d %H:%M:%S'` git add . git commit -m "User-defined class libraries, $DT" git push
之前最好用 git status 确认一下。
Error
RSA 证书无或错误
ERROR: Permission to XXX/XXX.git denied to deploy key fatal: Could not read from remote repository. -.OR.- [email protected]: Permission denied (publickey). fatal: Could not read from remote repository.
- repository 下 settings/Deploy keys 中有相应 RSA publickey
- 客户端中 .ssh 中有相应的 id_rsa(MacOS 使用 ssh-add)
- 不同的 repository 使用不同的 RSA publickey
分支冲突,本地版本陈旧
Automatic merge failed; fix conflicts and then commit the result.
丢弃本地分支内容
git reset --hard origin/master
首次推送
clone 后,首次 git push 出现: No refs in common and none specified; doing nothing. Perhaps you should specify a branch.
未指定推送到哪个分支,一般发生在首次推送。
git push origin master
git init
fatal: Not a git repository (or any of the parent directories): .git
git remote add 时出现,原因:未 git init
repository 不存在或无权限
git pull 时出现: ssh_exchange_identification: Connection closed by remote host fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.