Git通用命令列表(有组织且详细)
git工作区、暂存区和版本库之间的关系:
我们创建的项目文件夹就是工作区。初始化git(git init)版本库后,会生成一个. git文件,可以理解为git版本库的存储库。中有许多文件。git文件,其中一个索引文件也被称为stage,git自动生成一个分支主文件和一个指向该分支的指针头。
(.名称开头的文件不可见。如果要显示文件,需要设置:打开计算机-组织-文件夹和搜索选项-查看-高级设置-显示隐藏文件、文件夹和驱动器-确定,设置后可见。)
Git status检查workspace的工作状态,查看文件是否被Git跟踪,并提示通过git add file将文件添加到缓存中。如果添加到缓存中,此时的后续只在wokspace中。通过git commit -m '' (-m后面是commit的描述),此时的后续操作已经从阶段保存到存储库区域。这样,文件就成功地添加到了仓库中。
如果文件被修改,它将只在工作区中更新,而不会在缓存中更新。它必须进入缓存,然后通过git add和git commit命令进入存储库。(注意:只有在到达缓存后,才能访问存储库)
撤销和新增:
有三个可能的更新位置:工作区、阶段和存储库。如何取消更新
1.撤消工作区中的更新
git签出文件撤销。例如,在index.html文件中添加div99999/div并执行git checkout-index.html,新添加的div99999/div将立即消失
2.撤消阶段中的更新
使用git重置HEAD文件删除新的缓存。在前面的示例中,它没有添加到缓存中。现在再次添加div99999/div,git添加index.html,git重置头像index.html。如果您想取消工作区中的更新,请执行前面的命令git checkout-index.html
3.撤消存储库中的更新
在撤销之前,用git日志命令检查提交的历史记录。
有两种方法可以撤销提交:使用HEAD指针和提交id
在当前版本使用‘head’,然后在之前的版本使用HEAD,回到之前的版本,使用HEAD~n,也就是git reset-hard‘HEAD’或者gitreset-ee741efghjkoi986544th。执行git日志后,发现提交发生了变化。请注意,此时:工作区中的index.html文件也已更改。回到撤退的版本。
要恢复已撤销的提交,请执行以下操作:
看透git reflog。它将提示该仓库的所有分支机构所有新记录,包括已撤销的记录。
Git reset - hard ee74145或Git reset-hard[email protected]{ 4 },然后通过git日志查看。请注意,此时:工作区中的index.html文件也已更改。回到撤退前的版本。
我每天都用Git,但是记不住很多命令。
一般来说,日常使用只需要记住以下六个命令。但是如果你熟练使用,你必须记住60 ~ 100个命令。
以下是常用Git命令的列表。几个特殊名词的译名如下。
工作区:工作区索引/阶段:临时存储区存储库:仓库区(或本地仓库)远程:远程仓库I .创建新的代码库
#在当前目录下创建一个新的Git代码库$ Git init#创建一个新目录并将其初始化为Git代码库$ git init [project-name]#下载一个项目及其整个代码历史$ git clone [url] II。配置
Git的设置文件是。gitconfig,它可以在用户的主目录(全局配置)或项目目录(项目配置)中。#显示当前Git配置$ Gitconfig-list #编辑Git配置文件$ Gitconfig-e [-global] #提交代码时设置用户信息$ Git config[-global]user . name“[name]”$ Git config[-global]user . email“[email address]”III
#将指定文件添加到便笺簿$ git add[文件1][文件2].#将指定目录添加到暂存区,包括子目录$ git add [dir]#将当前目录的所有文件添加到暂存区$ git add。#在添加每个更改之前,您将被要求确认#对同一文件的多个更改。您可以提交$ git add -p#来多次删除工作区文件,并将此删除放入临时存储区$ git RM[文件1][文件2].#停止跟踪指定的文件,但该文件将保留在工作区$ gistrm-cache[file]#重命名的文件中,并将该重命名的文件放入临时存储区$ gitmv [file-original]
#将暂存区提交到存储库$ git commit-m[消息]#将暂存区的指定文件提交到存储库$ git commit文件1][文件2].-m[消息] #提交自上次提交以来工作区的更改。直接转到仓库区$ git commit -a#提交$ git commit时显示所有diff信息-v#使用新的提交而不是上次提交#如果代码中没有新的更改,则用于重写上次提交的提交信息$ gitcommit-amend-m [message] #并重做上次提交,包括指定文件$ git commit-amend[文件1][文件2]的新更改.五.分支
#列出所有本地分支机构$ git分支机构#列出所有远程分支机构$ git分支机构-r#列出所有本地分支机构和远程分支机构$ git分支机构-a#创建新分支机构,但仍停留在当前分支机构$ git分支机构[分支机构-名称]#创建新分支机构。并切换到这个分支$ git check out-b[分支]#创建一个新的分支,并指向指定的commit $ git分支[分支] [commit] #创建一个新的分支。与指定的远程分支建立跟踪关系$ git branch-track[branch][remote-branch]#切换到指定的分支并更新workspace $ git check out[branch-name]#切换到上一个分支$ git checkout -#以建立跟踪关系。$ git branch-set-upstream[branch][remote-branch]#将指定的分支合并到当前分支$ git merge [branch]#选择一个提交,合并到当前分支$ git cherry-pick [commit]#删除分支$ git branch -d [branch-name]#删除远程分支$ git push origin-删除[branch-name]$ git branch-dr[remote/branch]VI。标签
#列出所有标签$ gittag #创建新标签commit$ git tag [tag]#创建新标签指定commit$ git tag [tag] [commit]#删除本地标签$ git tag -d [tag]#删除远程标签$ git push origin : refs/tags/[tag]#查看标签信息$ git show [tag]#提交指定的标签$ git push [remote] [tag]#提交所有标签$ git push[remote]-标签#创建新分支并指向标签$ gitcheckout-b
#显示有更改的文件$ git状态#显示当前分支$ git日志的版本历史#显示提交历史,以及每次提交都有更改的文件$ gitlog-stat #搜索提交历史,并根据关键字$ git log-S[关键字]#,显示提交后的所有更改。每次提交占用一行:$ git log[标记]head-Pitty=format :% s #显示提交后的所有更改,其“提交描述”必须满足搜索条件:$ git log[标记] head-grep功能#显示文件的版本历史。包括文件重命名$ git log-follow[file]$ git what changed[file]#显示每个diff$ git log -p [file]#显示最近五次提交的内容$ git log-5-漂亮-onenine #显示所有提交的用户, 按提交时间排序$ git shortlog -sn#显示谁修改了指定的文件以及何时修改的$ git fake[file]#显示暂存区和工作区之间的差异$ git diff#显示暂存区和上次提交之间的差异$ git diff-cache[file]#显示工作区的最新提交和当前分支之间的差异$ git diff HEAD#显示两次提交之间的差异$ gitdiff [first-branch] .[第二分支] #显示您今天编写了多少行代码$ git diff-short stat ' @ { 0 Daya go } ' #显示提交的元数据和内容更改$ git show [commit]#显示提交中已更改的文件$ gitshow-name-only [commit] #显示提交期间文件的内容$ git Show[commit]:[filename]#显示当前分支的最新提交$ git reflog VIII。远程同步
#下载远程仓库的所有更改$ git fetch [remote]#显示所有远程仓库$ git remote -v#显示远程仓库的信息$ git remote show [remote]#添加新的远程仓库。并命名为$ git remote add [shortname] [url]#检索远程仓库的变更,并与本地分支$ git pull [remote] [branch]#合并将本地指定分支上传到远程仓库$ git push [remote] [branch]#将当前分支强制推送到远程仓库。即使有冲突,$ gitpush [remote]-force #也会将所有分支推送到远程仓库$ gitpush [remote]-all IX。取消
#将暂存区中的指定文件恢复到workspace $ git签出[文件]#将已提交的指定文件恢复到暂存区和workspace $ git签出[提交][文件]#将暂存区中的所有文件恢复到workspace $ git签出。#重置便笺簿中的指定文件。与上次提交一致,但工作空间保持不变。$ git reset [file]#将暂存区和工作区重置为与上次提交一致。$ gitreset-hard #将当前分支的指针重置为指定的提交,同时重置暂存区。但是工作空间保持不变。$ git reset [commit]#将当前分支的HEAD重置为指定的commit,同时重置暂存区和工作区,与指定的commit一致。$ git reset-硬[提交] #将当前HEAD重置为指定的提交。但是保持暂存区和工作区不变$ gitreset-keep [commit] #创建一个新的commit来撤消指定的commit#后者的所有更改都将被前者抵消并应用到当前分支$ git revert [commit]#暂时删除未提交的更改,然后移动到$ git stash$ git stash pop中。
#生成用于发布$ git归档摘要的压缩包
以上是边肖介绍给你的Git命令列表,希望对你有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!
版权声明:Git通用命令列表(有组织且详细)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。