{"id":11504,"date":"2024-01-01T11:27:00","date_gmt":"2024-01-01T03:27:00","guid":{"rendered":"https:\/\/www.orczhou.com\/?p=11504"},"modified":"2025-03-19T15:34:30","modified_gmt":"2025-03-19T07:34:30","slug":"using-github-manage-private-code-repo","status":"publish","type":"post","link":"https:\/\/www.orczhou.com\/index.php\/2024\/01\/using-github-manage-private-code-repo\/","title":{"rendered":"\u4f7f\u7528GitHub\u7ba1\u7406\u4e2a\u4eba\u7684\u4ee3\u7801"},"content":{"rendered":"\n\n\n\n<p>\u4e2a\u4eba\u7684\u4e00\u4e9b\u811a\u672c\u548c\u4ee3\u7801\uff0c\u7ecf\u5e38\u4f1a\u5206\u6563\u5728\u4e0d\u540c\u7684\u5730\u65b9\uff0c\u7ba1\u7406\u8d77\u6765\u5e76\u4e0d\u65b9\u4fbf\uff0c\u4f8b\u5982\u7ed9WordPress\u7f16\u5199\u7684Plugin\u3001\u6d4b\u8bd5MySQL\u65f6\u4f7f\u7528\u7684\u4e00\u4e9b\u811a\u672c\u7b49\uff0c\u6240\u4ee5\u6253\u7b97\u5168\u90e8\u4f7f\u7528GitHub\u7ba1\u7406\u8d77\u6765\u3002\u5bf9\u4e8e\u4e2a\u4eba\u4f7f\u7528\uff0cGitHub\u63d0\u4f9b\u4e86\u79c1\u4eba\u4ed3\u5e93\u4ee5\u5b58\u50a8\u4ee3\u7801\uff0c\u53ef\u4ee5\u8f83\u4e3a\u65b9\u4fbf\u7684\u7ba1\u7406\u4e00\u4e9b\u8fd8\u6ca1\u6709\u516c\u5f00\u7684\u4e2a\u4eba\u4ee3\u7801\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5efa\u7acb\u4e2a\u4ebaGit\u548cGitHub\u73af\u5883<\/h3>\n\n\n\n<p>GitHub CLI\u662f\u4e00\u4e2a\u5177\u4f53\u7b80\u5355\u4ea4\u4e92\u5f0f\u64cd\u4f5c\u7684\u547d\u4ee4\u884c\uff0c\u53ef\u4ee5\u5b8c\u6210\u4e0eGitHub\u76f8\u5173\u7684\u4e00\u4e9b\u4ea4\u4e92\u4e0e\u64cd\u4f5c\u3002\u5bf9\u5e94\u7684\u8f6f\u4ef6\u5305\/\u547d\u4ee4\u662f<code>gh<\/code>\u3002<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u5b89\u88c5gh-cli<\/h4>\n\n\n\n<p>\u53c2\u8003\uff1a<a href=\"https:\/\/github.com\/cli\/cli\/blob\/trunk\/docs\/install_linux.md\">Installing gh on Linux and BSD<\/a>\u3002Amazon Linux 2\u4e0a\u5b89\u88c5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">sudo yum-config-manager --add-repo https:\/\/cli.github.com\/packages\/rpm\/gh-cli.repo\nsudo yum install gh<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u4f7f\u7528gh\u914d\u7f6eGitHub\u6388\u6743<\/h4>\n\n\n\n<p>\u63a5\u7740\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528<code>gh auth login<\/code>\u547d\u4ee4\u6765\u8fdb\u884cGitHub\u7684\u8ba4\u8bc1\u4e86\uff08<a href=\"https:\/\/cli.github.com\/manual\/gh_auth_login\">gh cli manual<\/a>\uff09\u3002\u8fd9\u662f\u4e00\u4e2a\u7b80\u5355\u7684\u4ea4\u4e92\u5f0f\u547d\u4ee4\uff0c\u8fd9\u91cc\u4f7f\u7528https+token\u7684\u65b9\u5f0f\u5b8c\u6210\u8ba4\u8bc1\uff08\u4e5f\u53ef\u4ee5\u4f7f\u7528\u6d4f\u89c8\u5668\u7684\u65b9\u5f0f\u8f85\u52a9\u5b8c\u6210\u547d\u4ee4\u884c\u8ba4\u8bc1\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">gh auth login\n? What account do you want to log into? GitHub.com\n? What is your preferred protocol for Git operations on this host? HTTPS\n? Authenticate Git with your GitHub credentials? Yes\n? How would you like to authenticate GitHub CLI? Paste an authentication token\nTip: you can generate a Personal Access Token here https:\/\/github.com\/settings\/tokens\nThe minimum required scopes are 'repo', 'read:org', 'workflow'.\n? Paste your authentication token: *********************************************************************************************\n- gh config set -h github.com git_protocol https\n\u2713 Configured git protocol\n! Authentication credentials saved in plain text\n\u2713 Logged in as orczhou<\/code><\/pre>\n\n\n\n<p>\u5173\u4e8eToken\u7684\u914d\u7f6e\u4e0e\u83b7\u53d6\uff0c\u53ef\u4ee5\u53c2\u8003\uff1a<a href=\"https:\/\/github.com\/settings\/tokens\">GitHub-&gt;Settings-&gt;Developer Settings<\/a> \uff0c\u8fd9\u91cc\u4e0d\u518d\u8be6\u8ff0\u3002\u6ce8\u610f\uff0c<code>Token<\/code>\u610f\u5473\u7740\u5206\u914d\u7684\u6240\u6709\u7684\u4ed3\u5e93\u6743\u9650\uff0c\u5fc5\u987b\u59a5\u5584\u4fdd\u7ba1\uff0c\u5426\u5219\u53ef\u80fd\u4f1a\u5e26\u6765\u5de8\u5927\u7684\u5b89\u5168\u9690\u60a3\u3002<\/p>\n\n\n\n<p>\u5982\u679c\u8981\u767b\u51fa\u7684\u8bdd\uff0c\u5219\u53ef\u4ee5\u7b80\u5355\u7684\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">gh auth logout<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u5728\u672c\u5730pull\u4e0epush\u4ed3\u5e93<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9996\u5148\uff0c\u5728git\u4e2d\u914d\u7f6e\u672c\u5730\u8eab\u4efd\uff08\u7528\u6237\u540d\u4e0e\uff09<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">git config --global user.name \"orczhou\"\ngit config --global user.email \"orczhou@orczhou\"<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u9996\u5148\uff0c\u65b0\u5efa\u4e00\u4e2a\u672c\u5730\u6a21\u677f\uff0c\u5e76\u4f7f\u7528git\u547d\u4ee4\u521d\u59cb\u5316<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">mkdir  terraform &amp;&amp; cd terraform\ngit init<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u914d\u7f6e\u8fdc\u7aef\uff08remote\uff09\u5206\u652f\uff1b\u5e76\u62c9\u53d6\u8fdc\u7aef\u4ee3\u7801<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">git remote add origin https:\/\/github.com\/orczhou\/cloud-mysql-benchmark.git\ngit pull origin main<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u5411\u8fdc\u7aefpush\u4ee3\u7801<\/h4>\n\n\n\n<p>\u8fd9\u65f6\uff0c\u5982\u679c\u4fee\u6539\u4e86\u4ed3\u5e93\u4e2d\u7684\u4ee3\u7801\uff0c\u5219\u53ef\u4ee5\u4f7f\u7528push\u547d\u4ee4\u5411\u8fdc\u7aef\u53d1\u8d77\u63d0\u4ea4\u8bf7\u6c42\u3002<\/p>\n\n\n\n<p>\u4fee\u6539\u3001\u6d4b\u8bd5\u5e76\u672c\u5730\u63d0\u4ea4\u4ee3\u7801\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">vi gcp_rds_ins\/all_in_one\/README.md\ngit add gcp_rds_ins\/all_in_one\/README.md\ngit commit -m \"gcp readme updated\"<\/code><\/pre>\n\n\n\n<p>\u5411\u8fdc\u7aefpush\u4fee\u6539\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">git push -u origin main<\/code><\/pre>\n\n\n\n<p>\u8be5\u64cd\u4f5c\u4f1a\u5411\u8fdc\u7aef\u4ed3\u5e93\u7684main\u5206\u652f\uff0c\u63d0\u4ea4\u4ee3\u7801\u3002<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u5411main\u5206\u4e4b\u5408\u5e76\u4ee3\u7801<\/h4>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>\u53ef\u4ee5\u5728GitHub\u4ed3\u5e93\u9875\u9762\uff0c\u5bf9\u6bd4\u5e76\u521b\u5efa\u4e00\u4e2apull request\u3002<\/p>\n\n\n\n<p>\u53d1\u8d77pr\u4e4b\u540e\uff0c\u4ee3\u7801\u4ed3\u5e93\u5219\u53ef\u4ee5\u8fdb\u884cmerge\u64cd\u4f5c\uff0c\u5c06\u4ee3\u7801\u5408\u5e76\u5230main\u5206\u4e4b\u3002<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"936\" height=\"804\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image.png\" alt=\"\" class=\"wp-image-11524\" srcset=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image.png 936w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image-300x258.png 300w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image-768x660.png 768w\" sizes=\"auto, (max-width: 936px) 100vw, 936px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"533\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image-1-1024x533.png\" alt=\"\" class=\"wp-image-11525\" srcset=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image-1-1024x533.png 1024w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image-1-300x156.png 300w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image-1-768x400.png 768w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image-1.png 1076w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>\u5728\u65b0\u589e\u8fdc\u7a0b\u4ee3\u7801\u5e93(origin)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"Python\" class=\"language-Python\">git remote add origin https:\/\/github.com\/orczhou\/testing-delete-repo-if-u-like.git<\/code><\/pre>\n\n\n\n<p>\u5c06\u672c\u5730\u4ee3\u7801\uff0c\u63d0\u4ea4\u5230\u8fdc\u7a0b\u4ee3\u7801\u5e93\uff08origin\uff09\u7684main\u5206\u652f\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"Python\" class=\"language-Python\">git push -u origin main<\/code><\/pre>\n\n\n\n<p>\u4e0a\u9762\u7684\uff0c<code>-u origin main <\/code>\uff0c\u5176\u4e2d<code>-u<\/code>\u53c2\u6570\u8868\u793apush\u7684\u76ee\u6807\u4ee3\u7801\u5e93<code>-u | --set-upstream<\/code><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5728\u73b0\u6709\u4ed3\u5e93\u7684main\u5206\u4e4b\u4e0a\u5f00\u53d1<\/h3>\n\n\n\n<p>\u7ecf\u5e38\u9700\u8981\u505a\u8fd9\u4e2a\u52a8\u4f5c\uff0c\u5e38\u7528\u7684\u547d\u4ee4\u6bd4\u8f83\u7b80\u5355\uff0c\u8fd9\u91cc\u8bb0\u5f55\u5982\u4e0b\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">mkdir repo_bench &amp;&amp; cd repo_bench\ngit init\ngit branch -M main\ngit remote add origin https:\/\/...\ngit pull origin main\n\n<\/code><\/pre>\n\n\n\n<p>\u76f4\u63a5\u4fee\u6539\u672c\u5730<code>main<\/code>\u4e2d\u7684\u4ee3\u7801\u5e76\u63d0\u4ea4\u5230\u6e90\u7aef\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">cat \"...\" &gt; README.md\ngit add README.md\ngit commit -m \"first commit\" --dry-run\ngit commit -m \"first commit\"\ngit push -u origin main<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4f7f\u7528gitignore\u5ffd\u7565\u6587\u4ef6<\/h3>\n\n\n\n<p>\u5728\u4ee3\u7801\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u7531\u4e8e\u7f16\u8bd1\u3001\u8fd0\u884c\u7b49\u539f\u56e0\u4f1a\u4ea7\u751f\u5f88\u591a\u7684\u4e2d\u95f4\u6587\u4ef6\uff0c\u800c\u8fd9\u4e9b\u4e2d\u95f4\u6587\u4ef6\u65f6\u65e0\u9700\u63d0\u4ea4\u5230\u4ee3\u7801\u4ed3\u5e93\u7684\u3002\u8fd9\u65f6\u5019\uff0c\u9700\u8981\u4f7f\u7528gitignore\u6765\u5ffd\u7565\u8fd9\u90e8\u5206\u6587\u4ef6\u3002\u8be6\u7ec6\u5b8c\u6574\u7684gitignore\u7684\u4f7f\u7528\u53ef\u4ee5\u53c2\u8003<code>man gitignore<\/code>\u3002<\/p>\n\n\n\n<p>\u5e38\u7528\u7684gitignore\u662f\u53ef\u4ee5\u901a\u8fc7.gitignore\u6587\u4ef6\u6765\u5b9e\u73b0\uff0c\u5373\u5728\u4ee3\u7801\u7684\u6839\u76ee\u5f55\u4e2d\u65b0\u5efa\u8be5\u6587\u4ef6\uff0c\u90a3\u4e48\u5728\u4ee3\u7801\u5904\u7406\u65f6\uff0c\u5c31\u4f1a\u6839\u636e\u6839\u636e\u8be5\u6587\u4ef6\u7684\u89c4\u5219\u8fdb\u884c\u5ffd\u7565\u3002\u4f8b\u5982Terraform\u811a\u672c\u5e38\u7528\u7684gitignore\u6587\u4ef6\u53ef\u4ee5\u53c2\u8003\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/github\/gitignore\/blob\/main\/Terraform.gitignore\">Terraform.gitignore<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/github\/gitignore\/blob\/main\/Terraform.gitignore\">terraform-guides  \/.gitignore<\/a><\/li>\n<\/ul>\n\n\n\n<p>\u6240\u4ee5\uff0c\u4e00\u4e2aTerraform\u811a\u672c\u7684.gitignore\u53ef\u4ee5\u4f9d\u6b21\u4f5c\u53c2\u8003\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"properties\" class=\"language-properties\"># Compiled files\n*.tfstate\n*.tfstate.backup\n*.tfstate.lock.info\n\n# Directories\n.terraform\/\n.vagrant\/\n\n# SSH Keys\n*.pem\n\n# Ignored Terraform files\n*gitignore*.tf<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">master\u5206\u652f\u4e0emain\u5206\u652f<\/h3>\n\n\n\n<p>\u5728\u641c\u7d22git\/github\u7684\u76f8\u5173\u8d44\u6599\u7684\u65f6\u5019\uff0c\u7ecf\u5e38\u8fd8\u4f1a\u641c\u7d22\u5230<code>master<\/code>\u5206\u652f\u4f5c\u4e3a\u4e3b\u5206\u652f\u7684\u8d44\u6599\u6216\u8005\u4ed3\u5e93\u3002\u57282020\u5e74\u7684<a href=\"https:\/\/en.wikipedia.org\/wiki\/Murder_of_George_Floyd\">George Floyd<\/a>\u7684\u6848\u4ef6\u53d1\u751f\u540e\uff0c\u7f8e\u56fd\u7684<a href=\"https:\/\/en.wikipedia.org\/wiki\/Black_Lives_Matter\">Black_Lives_Matter<\/a>\u8fd0\u52a8\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u6700\u7ec8\u4e5f\u5f71\u54cd\u5230\u5728\u8ba1\u7b97\u673a\u9886\u57df\u7684<code>master\/slave <\/code>\u4e00\u8bcd\u7684\u4f7f\u7528\u3002\u66f4\u591a\u7684\u53c2\u8003\uff1a<a href=\"https:\/\/github.com\/github\/renaming\">Renaming the default branch from master@GitHub<\/a>\u3001<a href=\"https:\/\/www.theserverside.com\/feature\/Why-GitHub-renamed-its-master-branch-to-main\">Why GitHub renamed its master branch to main@theserverside<\/a>\u3002<\/p>\n\n\n\n<p>\u4e0d\u8fc7\uff0c<code>git<\/code>\u5728\u672c\u5730\u9ed8\u8ba4\u8fd8\u662f\u4f7f\u7528\u9ed8\u8ba4\u7684<code>master<\/code>\u5206\u652f\uff0c\u6240\u4ee5\u5982\u679c\u6ca1\u6709\u624b\u52a8\u5207\u6362\u5206\u652f\uff0c\u5219\u8fd8\u662f\u4f1a\u7ecf\u5e38\u201c\u9ed8\u8ba4\u7684\u201d\u521b\u5efa<code>master<\/code>\u5206\u652f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u67e5\u770b\u672a\u63d0\u4ea4\u7684\u4fee\u6539<\/h3>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>git\u9762\u5411\u7684\u573a\u666f\u5c31\u662f\u5206\u5e03\u5f0f\u3001\u591a\u4efb\u52a1\u7684\u5f00\u53d1\u4ee3\u7801\u7ba1\u7406\uff0c\u5176\u72ec\u7279\u7684&#8221;<a href=\"https:\/\/www.atlassian.com\/git\/tutorials\/undoing-changes\/git-reset\">three tree<\/a>&#8220;\u6a21\u578b\u53ef\u4ee5\u5f88\u5de7\u5999\u7684\u5b9e\u73b0\u8fd9\u4e9b\u80fd\u529b\u3002\u8fd9\u4e5f\u7ed9\u521d\u5b66\u8005\u5e26\u6765\u4e86\u5f88\u591a\u7406\u89e3\u4e0a\u7684\u969c\u788d\u3002<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"585\" height=\"359\" src=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image-15.png\" alt=\"\" class=\"wp-image-11798\" srcset=\"https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image-15.png 585w, https:\/\/www.orczhou.com\/wp-content\/uploads\/2024\/05\/image-15-300x184.png 300w\" sizes=\"auto, (max-width: 585px) 100vw, 585px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><code>git diff<\/code>\u4e0e<code>git diff HEAD<\/code><\/h4>\n\n\n\n<p>\u5982\u679c\uff0c\u60f3\u8981\u67e5\u770b\u81ea\u4e0a\u6b21<code>commit<\/code>\u4ee5\u6765\u7684\u6240\u6709\u53d8\u66f4\uff0c\u5219\u9700\u8981\u8bd5\u7528<code>git diff HEAD<\/code>\u547d\u4ee4\uff0c\u901a\u5e38<code>HEAD<\/code>\u6307\u5411\u7684\u662f\uff0c\u6700\u540e\u4e00\u6b21commit\u65f6\u7684\u4f4d\u7f6e\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\"># diff between \"working\" and \"staging\"\ngit diff<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\"># diff between \"working\" and \"repository\"\ngit diff HEAD<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\"># diff between \"staging\" and \"repository\"\ngit diff --cached<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u540c\u6b65\u8fdc\u7a0b\u66f4\u65b0<\/h3>\n\n\n\n<p>\u4e2a\u4eba\u4ee3\u7801\u4ed3\u5e93\u7ba1\u7406\u4e2d\uff0c\u6709\u65f6\u5019\u4f1a\u6709\u8fd9\u6837\u7684\u60c5\u51b5\uff1a\u76f4\u63a5\u5728\u8fdc\u7a0b\u4ed3\u5e93\u4e2d\u4fee\u6539\u4e86\u4e00\u4e9b\u6587\u4ef6\uff0c\u7136\u540e\u5982\u4f55\u8ba9\u672c\u5730\u548c\u8fdc\u7a0b\u4fdd\u6301\u540c\u6b65\u3002\u8003\u8651\u8fd9\u6837\u7684\u573a\u666f\uff1a\u76f4\u63a5\u5728GitHub\u4e0a\u5bf9<code>README.md<\/code>\u6587\u4ef6\u8fdb\u884c\u4e86\u7f16\u8f91\uff0c\u90a3\u4e48\u672c\u5730\u4ee3\u7801\u4ed3\u5e93\u5982\u4f55\u4fdd\u6301\u8fd9\u4e2a\u66f4\u65b0\u3002<\/p>\n\n\n\n<p>\u5f53\u7136\uff0c\u8fd9\u6837\u505a\uff0c\u901a\u5e38\u53ef\u80fd\u4f1a\u5f88\u5371\u9669\uff1a\u53ef\u80fd\u4f1a\u8986\u76d6\u6389\u4f60\u672c\u5730\u6240\u505a\u7684\u66f4\u6539\uff0c\u4f46\u662f\u57fa\u4e8e\u4e0a\u9762\u7684\u573a\u666f\uff0c\u6240\u4ee5\uff0c\u6709\u65f6\u5019\u4f1a\u9700\u8981\u8fd9\u4e48\u505a\u3002Stackoverflow\u4e0a\u6709\u51e0\u4e2a\u76f8\u5173\u7684\u95ee\u9898\uff0c\u975e\u5e38\u8be6\u7ec6\u7684\u4ecb\u7ecd\u4e86\u505a\u6cd5\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/19216411\/how-do-i-pull-files-from-remote-without-overwriting-local-files\">How do I pull files from remote without overwriting local files?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/292357\/what-is-the-difference-between-git-pull-and-git-fetch\">What is the difference between &#8216;git pull&#8217; and &#8216;git fetch&#8217;?<\/a><\/li>\n<\/ul>\n\n\n\n<p>\u8fd9\u91cc\u7684\u63a8\u8350\u505a\u6cd5\u662f\u8fd9\u6837\uff0c\u5982\u679c\u672c\u5730\u4ed3\u5e93\u7684\u4fee\u6539\u786e\u5b9a\u4e0d\u8981\u4e86\uff08\u901a\u5e38\u8fd9\u662f\u5f88\u5371\u9669\u7684\uff09\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">git pull<\/code><\/pre>\n\n\n\n<p>\u5982\u679c\u672c\u5730\u4ed3\u5e93\u4fee\u6539\u90fd\u8fd8\u9700\u8981\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">git stash\ngit pull \ngit stash pop<\/code><\/pre>\n\n\n\n<p>\u8fd8\u53ef\u4ee5\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u5148\u4f7f\u7528 <code>git fetch<\/code>\u66f4\u65b0<code>origin\/main<\/code><\/li>\n\n\n\n<li>\u7136\u540e\u4f7f\u7528<code>git diff main origin\/main<\/code>\u67e5\u770b\u672c\u5730\u4e0e\u8fdc\u7a0b\u7684\u5dee\u5f02<\/li>\n\n\n\n<li>\u6700\u540e\u4f7f\u7528<code>git merge<\/code>\u5c06<code>origin\/main<\/code>\u4e0e\u672c\u5730\u5408\u5e76\uff0c\u5e76\u4fdd\u6301\u5728\u672c\u5730<\/li>\n<\/ul>\n\n\n\n<p>\u8fd9\u6837<code>origin\/main<\/code>\u662f\u6700\u65b0\u7684\uff0c\u4e14\u672c\u5730\u5206\u652f\u4e5f\u662f\u6700\u65b0\u7684\u4e86<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">git fetch\ngit diff main origin\/main\ngit merge<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u53c2\u8003\u94fe\u63a5<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/cli\/cli\/blob\/trunk\/docs\/install_linux.md\">Installing gh on Linux and BSD<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/settings\/tokens\">GitHub-&gt;Settings-&gt;Developer Settings<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cli.github.com\/manual\/gh_auth_login\">gh cli manual<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/github\/renaming\">Renaming the default branch from master@GitHub<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.theserverside.com\/feature\/Why-GitHub-renamed-its-master-branch-to-main\">Why GitHub renamed its master branch to main@theserverside<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.atlassian.com\/git\/tutorials\/undoing-changes\/git-reset\">Git reset<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e2a\u4eba\u7684\u4e00\u4e9b\u811a\u672c\u548c\u4ee3\u7801\uff0c\u7ecf\u5e38\u4f1a\u5206\u6563\u5728\u4e0d\u540c\u7684\u5730\u65b9\uff0c\u7ba1\u7406\u8d77\u6765\u5e76\u4e0d\u65b9\u4fbf\uff0c\u4f8b\u5982\u7ed9WordPress\u7f16\u5199\u7684Plugin\u3001\u6d4b\u8bd5MySQL\u65f6\u4f7f\u7528\u7684\u4e00\u4e9b\u811a\u672c\u7b49\uff0c\u6240\u4ee5\u6253\u7b97\u5168\u90e8\u4f7f\u7528GitHub\u7ba1\u7406\u8d77\u6765\u3002\u5bf9\u4e8e\u4e2a\u4eba\u4f7f\u7528\uff0cGitHub\u63d0\u4f9b\u4e86\u79c1\u4eba\u4ed3\u5e93\u4ee5\u5b58\u50a8\u4ee3\u7801\uff0c\u53ef\u4ee5\u8f83\u4e3a\u65b9\u4fbf\u7684\u7ba1\u7406\u4e00\u4e9b\u8fd8\u6ca1\u6709\u516c\u5f00\u7684\u4e2a\u4eba\u4ee3\u7801\u3002 \u5efa\u7acb\u4e2a\u4ebaGit\u548cGitHub\u73af\u5883 GitHub CLI\u662f\u4e00\u4e2a\u5177\u4f53\u7b80\u5355\u4ea4\u4e92\u5f0f\u64cd\u4f5c\u7684\u547d\u4ee4\u884c\uff0c\u53ef\u4ee5\u5b8c\u6210\u4e0eGitHub\u76f8\u5173\u7684\u4e00\u4e9b\u4ea4\u4e92\u4e0e\u64cd\u4f5c\u3002\u5bf9\u5e94\u7684\u8f6f\u4ef6\u5305\/\u547d\u4ee4\u662fgh\u3002 \u5b89\u88c5gh-cli \u53c2\u8003\uff1aInstalling gh on Linux and BSD\u3002Amazon Linux 2\u4e0a\u5b89\u88c5\uff1a \u4f7f\u7528gh\u914d\u7f6eGitHub\u6388\u6743 \u63a5\u7740\uff0c\u5c31\u53ef\u4ee5\u4f7f\u7528gh auth login\u547d\u4ee4\u6765\u8fdb\u884cGitHub\u7684\u8ba4\u8bc1\u4e86\uff08gh cli manual\uff09\u3002\u8fd9\u662f\u4e00\u4e2a\u7b80\u5355\u7684\u4ea4\u4e92\u5f0f\u547d\u4ee4\uff0c\u8fd9\u91cc\u4f7f\u7528https+token\u7684\u65b9\u5f0f\u5b8c\u6210\u8ba4\u8bc1\uff08\u4e5f\u53ef\u4ee5\u4f7f\u7528\u6d4f\u89c8\u5668\u7684\u65b9\u5f0f\u8f85\u52a9\u5b8c\u6210\u547d\u4ee4\u884c\u8ba4\u8bc1\uff09\uff1a \u5173\u4e8eToken\u7684\u914d\u7f6e\u4e0e\u83b7\u53d6\uff0c\u53ef\u4ee5\u53c2\u8003\uff1aGitHub-&gt;Settings-&gt;Developer Settings \uff0c\u8fd9\u91cc\u4e0d\u518d\u8be6\u8ff0\u3002\u6ce8\u610f\uff0cToken\u610f\u5473\u7740\u5206\u914d\u7684\u6240\u6709\u7684\u4ed3\u5e93\u6743\u9650\uff0c\u5fc5\u987b\u59a5\u5584\u4fdd\u7ba1\uff0c\u5426\u5219\u53ef\u80fd\u4f1a\u5e26\u6765\u5de8\u5927\u7684\u5b89\u5168\u9690\u60a3\u3002 \u5982\u679c\u8981\u767b\u51fa\u7684\u8bdd\uff0c\u5219\u53ef\u4ee5\u7b80\u5355\u7684\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\uff1a \u5728\u672c\u5730pull\u4e0epush\u4ed3\u5e93 \u5411\u8fdc\u7aefpush\u4ee3\u7801 \u8fd9\u65f6\uff0c\u5982\u679c\u4fee\u6539\u4e86\u4ed3\u5e93\u4e2d\u7684\u4ee3\u7801\uff0c\u5219\u53ef\u4ee5\u4f7f\u7528push\u547d\u4ee4\u5411\u8fdc\u7aef\u53d1\u8d77\u63d0\u4ea4\u8bf7\u6c42\u3002 \u4fee\u6539\u3001\u6d4b\u8bd5\u5e76\u672c\u5730\u63d0\u4ea4\u4ee3\u7801\uff1a \u5411\u8fdc\u7aefpush\u4fee\u6539\uff1a \u8be5\u64cd\u4f5c\u4f1a\u5411\u8fdc\u7aef\u4ed3\u5e93\u7684main\u5206\u652f\uff0c\u63d0\u4ea4\u4ee3\u7801\u3002 \u5411main\u5206\u4e4b\u5408\u5e76\u4ee3\u7801 \u53ef\u4ee5\u5728GitHub\u4ed3\u5e93\u9875\u9762\uff0c\u5bf9\u6bd4\u5e76\u521b\u5efa\u4e00\u4e2apull request\u3002 \u53d1\u8d77pr\u4e4b\u540e\uff0c\u4ee3\u7801\u4ed3\u5e93\u5219\u53ef\u4ee5\u8fdb\u884cmerge\u64cd\u4f5c\uff0c\u5c06\u4ee3\u7801\u5408\u5e76\u5230main\u5206\u4e4b\u3002 \u5728\u65b0\u589e\u8fdc\u7a0b\u4ee3\u7801\u5e93(origin) \u5c06\u672c\u5730\u4ee3\u7801\uff0c\u63d0\u4ea4\u5230\u8fdc\u7a0b\u4ee3\u7801\u5e93\uff08origin\uff09\u7684main\u5206\u652f\uff1a \u4e0a\u9762\u7684\uff0c-u origin main \uff0c\u5176\u4e2d-u\u53c2\u6570\u8868\u793apush\u7684\u76ee\u6807\u4ee3\u7801\u5e93-u | &#8211;set-upstream \u5728\u73b0\u6709\u4ed3\u5e93\u7684main\u5206\u4e4b\u4e0a\u5f00\u53d1 \u7ecf\u5e38\u9700\u8981\u505a\u8fd9\u4e2a\u52a8\u4f5c\uff0c\u5e38\u7528\u7684\u547d\u4ee4\u6bd4\u8f83\u7b80\u5355\uff0c\u8fd9\u91cc\u8bb0\u5f55\u5982\u4e0b\uff1a \u76f4\u63a5\u4fee\u6539\u672c\u5730main\u4e2d\u7684\u4ee3\u7801\u5e76\u63d0\u4ea4\u5230\u6e90\u7aef\uff1a \u4f7f\u7528gitignore\u5ffd\u7565\u6587\u4ef6 \u5728\u4ee3\u7801\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u7531\u4e8e\u7f16\u8bd1\u3001\u8fd0\u884c\u7b49\u539f\u56e0\u4f1a\u4ea7\u751f\u5f88\u591a\u7684\u4e2d\u95f4\u6587\u4ef6\uff0c\u800c\u8fd9\u4e9b\u4e2d\u95f4\u6587\u4ef6\u65f6\u65e0\u9700\u63d0\u4ea4\u5230\u4ee3\u7801\u4ed3\u5e93\u7684\u3002\u8fd9\u65f6\u5019\uff0c\u9700\u8981\u4f7f\u7528gitignore\u6765\u5ffd\u7565\u8fd9\u90e8\u5206\u6587\u4ef6\u3002\u8be6\u7ec6\u5b8c\u6574\u7684gitignore\u7684\u4f7f\u7528\u53ef\u4ee5\u53c2\u8003man gitignore\u3002 \u5e38\u7528\u7684gitignore\u662f\u53ef\u4ee5\u901a\u8fc7.gitignore\u6587\u4ef6\u6765\u5b9e\u73b0\uff0c\u5373\u5728\u4ee3\u7801\u7684\u6839\u76ee\u5f55\u4e2d\u65b0\u5efa\u8be5\u6587\u4ef6\uff0c\u90a3\u4e48\u5728\u4ee3\u7801\u5904\u7406\u65f6\uff0c\u5c31\u4f1a\u6839\u636e\u6839\u636e\u8be5\u6587\u4ef6\u7684\u89c4\u5219\u8fdb\u884c\u5ffd\u7565\u3002\u4f8b\u5982Terraform\u811a\u672c\u5e38\u7528\u7684gitignore\u6587\u4ef6\u53ef\u4ee5\u53c2\u8003\uff1a \u6240\u4ee5\uff0c\u4e00\u4e2aTerraform\u811a\u672c\u7684.gitignore\u53ef\u4ee5\u4f9d\u6b21\u4f5c\u53c2\u8003\uff1a master\u5206\u652f\u4e0emain\u5206\u652f \u5728\u641c\u7d22git\/github\u7684\u76f8\u5173\u8d44\u6599\u7684\u65f6\u5019\uff0c\u7ecf\u5e38\u8fd8\u4f1a\u641c\u7d22\u5230master\u5206\u652f\u4f5c\u4e3a\u4e3b\u5206\u652f\u7684\u8d44\u6599\u6216\u8005\u4ed3\u5e93\u3002\u57282020\u5e74\u7684George Floyd\u7684\u6848\u4ef6\u53d1\u751f\u540e\uff0c\u7f8e\u56fd\u7684Black_Lives_Matter\u8fd0\u52a8\u8fbe\u5230\u4e86\u524d\u6240\u672a\u6709\u7684\u9ad8\u5ea6\uff0c\u6700\u7ec8\u4e5f\u5f71\u54cd\u5230\u5728\u8ba1\u7b97\u673a\u9886\u57df\u7684master\/slave \u4e00\u8bcd\u7684\u4f7f\u7528\u3002\u66f4\u591a\u7684\u53c2\u8003\uff1aRenaming the default [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"wp-custom-template-a-1440-px-width-template","format":"standard","meta":{"_eb_attr":"","inline_featured_image":false,"_tocer_settings":[],"footnotes":""},"categories":[4,137],"tags":[],"class_list":["post-11504","post","type-post","status-publish","format-standard","hentry","category-code-detail","category-learning-more"],"_links":{"self":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts\/11504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/comments?post=11504"}],"version-history":[{"count":28,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts\/11504\/revisions"}],"predecessor-version":[{"id":17319,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/posts\/11504\/revisions\/17319"}],"wp:attachment":[{"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/media?parent=11504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/categories?post=11504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.orczhou.com\/index.php\/wp-json\/wp\/v2\/tags?post=11504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}