{"id":18052891,"url":"https://github.com/minooo/gitskills","last_synced_at":"2026-02-03T05:35:04.149Z","repository":{"id":87399116,"uuid":"66621376","full_name":"minooo/GitSkills","owner":"minooo","description":"记录一些git常用的命令","archived":false,"fork":false,"pushed_at":"2018-03-02T08:00:14.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-29T14:41:02.622Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/minooo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2016-08-26T06:10:34.000Z","updated_at":"2016-08-26T06:10:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"7fc7427f-4ca8-45fe-a982-54810a43c166","html_url":"https://github.com/minooo/GitSkills","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/minooo/GitSkills","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minooo%2FGitSkills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minooo%2FGitSkills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minooo%2FGitSkills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minooo%2FGitSkills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/minooo","download_url":"https://codeload.github.com/minooo/GitSkills/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/minooo%2FGitSkills/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29034312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T02:28:16.591Z","status":"ssl_error","status_checked_at":"2026-02-03T02:27:48.904Z","response_time":96,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-10-30T23:13:30.157Z","updated_at":"2026-02-03T05:35:04.123Z","avatar_url":"https://github.com/minooo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"### git add file 把你的修改放到暂存区\n### git status 查看当前状态，是否有遗漏\n### git commit -m \"something\" \n### git reset --hard + `commit id` 或者 类似于这样的`HEAD@{1}`版本号\n### git checkout -- file 把文件在工作区的修改全部撤销，有两种情况\n- 修改后还没有放到暂存区\n- 文件已经添加到暂存区，又了修改，如果撤销就回到添加暂存区后的状态\n- 如果已经提交，则使用版本回退来达到撤销修改的目的。\n\n### git reset HEAD file 撤销当前的提交暂存区(git add)命令\n### git log --pretty=oneline 显示从最近到最远的提交日志，可以以此回到过去\n### git reflog 查看“提交命令”历史，可以以此回到未来。\n\n\n### 推送到远程仓库 `git push -u origin master`\n实际上是把当前分支 `master` 推送到远程。由于远程库是空的，第一次推送`master`分支时，  \n加上了`-u`参数，\n\n### 最好的方式是先创建远程库，然后从远程库克隆。\n创建时记得勾选`Initialize this repository with a README`,这样GitHub会自动  \n为我们创建一个`README.md`文件。\n\n### 下一步用`git clone`克隆一个本地库\n```js\ngit clone git@github.com:minooo/GitSkills\n...自动完成克隆...\n```\n也许你还注意到，GitHub给出的地址不止一个，还可以用`https://github.com/minooo/GitSkills.git`  \n这样的地址，实际上，Git支持多种协议，默认的`git://`使用ssh，但也可以使用`https`等其他协议。  \n注意，使用`https`除了速度慢以外，有个最大的麻烦就是 **每次推送必须输入账号密码** ，但是在某些  \n只开发http端口的公司内部就无法使用`ssh`协议而只能使用`https`。\n\n### 文件处理\n- 删除某个文件 `git rm test.txt`, 然后保存 `git commit -m \"del\"`, 如果你删错了也可以恢复 `git checkout -- test.txt`\n\n### 临时处理 master bug，当前分支 dev 还在开发中，怎么办\n首先存储现场 `git stash` ，然后切到master处理bug, (最好在master另起一个分支解决），解决完bug后，合并到主分支，  \n删除bug分支后，切到dev 分支，重新开启当前开发任务，`git stash list`     \n还原现场有两种方式：\n- `git stash apply`,但是stash 内容不删除，可以使用 `git stash drop` 来删除\n- `git stash pop` 恢复的同时把stash内容也删除了。\n如果你多次 stash，先用 `git stash list` 查看，然后恢复指定的 stash, `git stash apply stash@{0}`\n\n### 分支相关\n- 查看分支：`git branch`\n- 创建分支：`git branch \u003cname\u003e`\n- 把创建的分支推送到远程服务器：`git push origin dev`\n- 切换分支：`git checkout \u003cname\u003e`\n- 创建+切换分支：`git checkout -b \u003cname\u003e`\n- 合并某分支到当前分支：`git merge \u003cname\u003e`\n- 不用快速合并：`git merge --no-ff -m \"merge with no-ff\" dev` 这是有记录的合并，推荐这个 --no-ff 表示禁用 Fast Forward 模式。这样合并后能看出曾经做过合并\n- 删除分支：`git branch -d \u003cname\u003e`\n- 强行删除：`git branch -D \u003cname\u003e` 用于删除一个没有被合并过的分支。\n- 删除远程分支 `git push origin --delete dev`\n- 查看分支提交详细命令：`git log --graph --pretty=oneline --abbrev-commit`\n- 查看分支合并图：`git log --graph`\n- 一口气提交所有！ `git add --all`\n- 强制当前提交推送到远程 `git push -f origin master`  \n- 强制覆盖本地 首先： `git fetch --all` ，其次：`git reset --hard origin/master` \n- 把本地分支master与远程仓库origin里的分支gaga建立关联，你要切换到master分支上, `git push -u gaga`\n\n- 查看当前远程仓库 git remote -v\n- 添加远程仓库 `git remote add origin https://...`\n- 添加额外的远程仓库（比如coading） `git remote add  https://...`\n- 一次提交所有远程仓库 `git push --all`\n\n### 异常处理\n* 让git对大小写敏感 `git config core.ignorecase false `\n* 拉取远程，或者切换分支时如果出现文件未跟踪错误 `git reset --hard origin/master`\n* windows使用git时出现：warning: LF will be replaced by CRLF [相关帖子讲解](https://stackoverflow.com/questions/5834014/lf-will-be-replaced-by-crlf-in-git-what-is-that-and-is-it-important)\n    * 查看当前模式 `git config core.autocrlf`\n    * 禁用自动转换 `git config --global core.autocrlf false`\n    * 之后再次提交你的代码 `git add --all` ...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminooo%2Fgitskills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fminooo%2Fgitskills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fminooo%2Fgitskills/lists"}