《(新)GIT版本管理详解.docx》由会员分享,可在线阅读,更多相关《(新)GIT版本管理详解.docx(22页珍藏版)》请在优知文库上搜索。
1、日常工作需要掌握操作示意图=heckoutfetchcloeseicheckout-fecM.fetch和pull的区别等,除此之外,还有cherrycommit, status, fetch, push, rebase 等,若要熟练掌握工作区(WorkSPaCe)是电脑中实际的目录。暂存区(IndeX : stage)类似于缓存区域,临时保存你的改动 仓库区(RePoSitory),分为本地仓库和远程仓库。必须掌握rebase和merge的区别 pick, submodule, StaSh 等功能,workspacestagingrepositorygit add/mv/rmcommitgi
2、t pushgit reset git diff HEADWorkspace:工作区Index/Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库A工作区:仓库文件夹里面,除了.git目录以外的内容A版本库:Git目录,用于存储记录版本信息A版本库中的暂缓区(stage)A版本库中的分支(master):Git自动创建的第一个分支版本库中的HEAD指针:用于指向当前分支Git为我们自动创建了第一个分支master,以及指向master的一个指针HEADDEVELOPERBDevelopera二、操作手册1.术语/master:默认开发分支/origin:默认远程
3、版本库/Index/Stage:暂存区,Workspace:工作区/ Repository:仓库区(或本地仓库)/ Remote:远程仓库2.命令手册类型命令解释命令求助$githelp初始化在当前目录新建一个Git代码库$gitinit新建一个目录,将基初始化为Git代码库$gitinitproject-name下载一个项目和它的整个代码历史$gitcloneurl$gitclonessh:/user$gitclone配置列举所有配置$gitconfig-1($gitconfig-list)编辑配置文件$gtconfig-e-global为命令配置别名$gitconfig-globalali
4、as.cocheckout$gitconfig-gobalalias.cicommit$gitconfig-globalalias.ststatus$gitconfig-globalalias.brbranch设置提交代码时的用户信息Git用户的配置文件位于/.gitConfigGit单个仓库的配置文件位于/$PRoJECT一PATH/.git/Config$gitconfig-globaluser.namename$gitconfig-globaluser.emailemaildress增删文件添加文件到暂存区$g1tadd.#添加当前目录的所有修改文件到暂存区$gitadd-A#添加所有修
5、改到暂存区$gitadd.#添加指定文件到暂存区$gitadd#添加指定目录到暂存区,含子目录$gitadd-p#添加每个变化前,都会要求确认.对同一个文件的多处变化,可以实现分次提交。删除工作区文件.并且将这次删除放入哲存区$gitrmfilelfile2.停止追踪指定文件,但该文件会保留在工作区$gitrm-cachedfile改名文件,并且将这个改名放入暂存区$gitmvfile-originalfile-renamed分支列出所有本地分支$gitbranch列出所有远程分支$gitbranch-r列出所有本地分支和远程分支$gitbranch-a删除分支$gitbranch-dbran
6、ch-name删除远程分支$gitpushorigin-deletebranch-name$gitbranch-drremote/branch$gitpushremote:remote-branch新建一个分支,但依然停留在当前分支$gitbranchbranch-name新建一个分支,与指定的远程分支建立追踪关系$gitbranch-trackbranchremote-branch新建一个分支,并切换到该分支$gitcheckout-bnew_branchremote-branch切换到指定分支,并更新工作区$gitcheckoutbranch-name切换到上一个分支$gitcheckou
7、t-合并指定分支到当前分支$gitmergebranch选择一个commit,合并进当前分支$gitcherry-pickcommit衍合指定分支.到当前分支$gitrebasebranch建立追踪关系,在现有分支与指定的远程分支之间$gitbranch-set-upstreambranchremote-branch提交提交暂存区到仓库区$gitcommit-mmessage提交暂存区的指定文件到仓库区$gitcommitfielelfile2-mmessage提交工作区自上次Commit之后的变化,直接到仓库区$gitcommit-a提交时显示所有diff信息$gitcommit-v使用一次
8、新的提交.替代上一次是提交。若代码无变化.则用来改写上一次commit的提交信息$gitcommit-amend-mmessage重做上一次提交,并包括指定文件的新变化$gitcommit-amend-filelfile2上传本地指定分支到远程仓库$gitpushremoteremote-branch拉取下载远程仓库的所有变动$gitfetchremote显示所有远程仓库$gitremote-v显示某个远程仓库的信息$gitremoteshowremote增加一个新的远程仓库,并命名$gitremoteaddremote-nameurl取回远程仓库变化,并与本地分支合并$gitpullremo
9、tebranch取回远程仓库的变化,并与本地分支变基合并$gitpull-rebaseremotebranch撤错撤销工作目录中所有示提交文件的修改内容$gitreset-Hardhead撤销指定的提交$gitrevert撤销指定的未提交文件的修改内容$gitcheckoutHEADfile退回一天前的版本$gitlog-before=1days”恢复暂存区的指定文件到工作区$gitcheckoutfile恢复暂存区当前目录的所有文件到工作区$gitcheckout恢复某个commit的指定文件到暂存区和工作区$gitcheckoutcommitfile重置暂存区的指定文件,与上一次提交持一致
10、,但工作区不变$gitresetfile重置暂存区与工作区,与上一次提交保持一致$gitresethard重置当前分支的指针为指定提交,同时重置哲存区,但工作区不变$gitresetcommit重置当分支的HEAD为指定Commit,同时重置暂存区和工作区,与指定CommIt-致$gitreset-hardcommit重置当前HEAD为指定commit,但保持暂存区和工作区不变$git-keepcommit新建一个commit.用于撤销指定Commit后者所有的变化将被前者抵消,并应用到当前分支$gitrevertcommit将未提交的变化放在暂存区(草稿)$gitstash将暂存的内容恢复到
11、当前工作区(草稿)$gitstashpop查询查看工作区文件修改状态$gitstatus查看版本库修改记录$gitlog显示提交历史,及每次提交发生更化的文件$gitlog-stat搜索提交历史,根据关键词$gitlog-Skeyword显示某个提交后的所有变动,每个commit占行$gitlogtagHEADpretty=formats显示某个提交后的所有变动,其提交说明必须符合搜索条件$gitlogtagHEADgrepfeature显示某个文件的版本历史,包括文件改名$gitlog-followfile$gitWhatchangedfollowfile显示指定文件相关的每一次diff$g
12、itlog-pfile显示过去5次提交$gitlog-5pretty-oneline显示所有提交过的用户,按提交次数排序$gitshortlog-sn显示指定文件是什么人在什么时间修改过$gitblamefile查看工作区文件修改具体内容$gitdifffile查看暂存区文件修改内容$gitdiff-cachedfile查看工作区与当前分支最新commit间的差异JgitdiffHEAD查看两次提交间的差异$gitdifffirst-branchsecond-branch显示今天你写了多少行代码$gitdiffThortStat0dayago查看某次提交具体修改内容$gitshowcommit
13、查看某人提交记录$gitlog-author=someoe显示某次提交时某文件的内容$gitshowcommit:filename显示当前分支的最近几次提交$gitreflog获重版本号查看某次提交发生变化的文件$gitshow-name-onlycommit标釜列出所有本地标签$gittag基于最新提交创建标签$gittagtag-name删除标签$gittag-dtag-ame删除远程标签$gitpushoriginefstagstagName查看标签信息$gitshowtag提交指定标签$gitpushremotetag提交所有标签$gitpushremote-tags新建一个分支,指向某个标签$gitcheckout-bbranchtag提交指定标签$gitpushremotetag远程操作下载远远程仓库的所有变动$gitfetchremote取回远程仓库的变化,并与本地分支合并$gitpullremotebranch显示所有远程仓库$gitremote-v显示某个远程仓库的信息$gitremoteshowremote增加一个新的远程仓库,并命名$gi