{"id":19230173,"url":"https://github.com/yangwenmai/github-workflow","last_synced_at":"2026-06-15T04:32:28.875Z","repository":{"id":151412087,"uuid":"235798333","full_name":"yangwenmai/github-workflow","owner":"yangwenmai","description":"Github Workflow","archived":false,"fork":false,"pushed_at":"2020-01-23T14:57:25.000Z","size":2,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-01-22T16:37:35.844Z","etag":null,"topics":["github","workflow"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yangwenmai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-23T13:16:38.000Z","updated_at":"2020-01-23T14:57:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"4591ceb9-a6f2-4858-827d-cec0c426a4d8","html_url":"https://github.com/yangwenmai/github-workflow","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yangwenmai/github-workflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangwenmai%2Fgithub-workflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangwenmai%2Fgithub-workflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangwenmai%2Fgithub-workflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangwenmai%2Fgithub-workflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yangwenmai","download_url":"https://codeload.github.com/yangwenmai/github-workflow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangwenmai%2Fgithub-workflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34348291,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","workflow"],"created_at":"2024-11-09T15:37:07.050Z","updated_at":"2026-06-15T04:32:28.843Z","avatar_url":"https://github.com/yangwenmai.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Github Workflow\n\n## 第一步：从仓库中 Fork 项目\n\n1. 访问目标项目：https://github.com/yangwenmai/github-workflow\n2. 在页面上点击 `Fork` ，给自己的仓库复制一个。\n\n## 第二步：Clone fork 的项目到本地\n\nClone 你 fork 的项目到你本地的 `$working_dir`\n\n```sh\nmkdir -p $working_dir\ncd $working_dir\ngit clone https://github.com/$user/github-workflow.git\n# or: git clone git@github.com:$user/github-workflow.git\n\ncd $working_dir/github-workflow\ngit remote add upstream https://github.com/yangwenmai/github-workflow.git\n# or: git remote add upstream git@github.com:yangwenmai/github-workflow.git\n\n# Never push to the upstream master.\ngit remote set-url --push upstream no_push\n\n# Confirm that your remotes make sense:\n# It should look like:\n# origin    git@github.com:$(user)/github-workflow.git (fetch)\n# origin    git@github.com:$(user)/github-workflow.git (push)\n# upstream  https://github.com/yangwenmai/github-workflow (fetch)\n# upstream  no_push (push)\ngit remote -v\n```\n\n## 第三步：开新分支\n\n保持你本地 master 分支为最新：\n\n```sh\ncd $working_dir/github-workflow\ngit fetch upstream\ngit checkout master\ngit rebase upstream/master\n```\n\n从 master 分支开新的特性分支：\n\n```sh\ngit checkout -b myfeature\n# or: gcb myfeature\n```\n\n## 第四步：开发\n\n### 编码\n\n你可以在你新创建的 `myfeature` 分支下编码。\n\n## 第五步：保持你的特性分支 `myfeature` 是一直同步原始仓库的最新 master 代码\n\n```sh\n# While on your myfeature branch.\ngit fetch upstream\ngit rebase upstream/master\n```\n\n请不要用 `git pull` 代替 `fetch/rebase`，`git pull` 会创建一个 merge，并且会创建 merge commits。这些会使提交记录混乱和违反规则。你也可以考虑改变你的 `.git/config` 文件，通过 `git config branch.autoSetupRebase` 来改变 git pull 行为。\n\n## 第六步：提交\n\n提交你的变更.\n\n```sh\ngit commit\n```\n\n## 第七步：推送\n\n```sh\ngit push --set-upstream ${your_remote_name} myfeature\n```\n\n## 第八步：创建一个 Pull Request\n\n1. 访问你 fork 的项目：https://github.com/$user/github-workflow\n2. 点击 `Compare \u0026 Pull Request` 按钮，基于你的 `myfeature` 分支\n3. 填充必要的 PR 模板信息。\n\n----\n\n接下来你就只需要等待原始项目的开发人员来审核你的提交即可。\n\n以后如果你还要再开发新的特性或者修复一些 bug，你需要先同步更新项目，然后再创建新的分支，然后都可以按照以上步骤执行。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyangwenmai%2Fgithub-workflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyangwenmai%2Fgithub-workflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyangwenmai%2Fgithub-workflow/lists"}