跳至内容
大螃嗨
好记性不如烂笔头
用户工具
登录
站点工具
搜索
工具
显示页面
修订记录
反向链接
最近更改
媒体管理器
网站地图
登录
>
最近更改
媒体管理器
网站地图
您的足迹:
git
本页面只读。您可以查看源文件,但不能更改它。如果您觉得这是系统错误,请联系管理员。
======Git使用记录====== 这个是比较完整的教程,讲解比较透彻:[[https://git-scm.com/book/zh-tw/v1|Pro Git]] 这个是廖雪峰的教程,深入简出:[[https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000|廖雪峰的Git教程]] 下面是几个重点特性: * Git是分布式版本控制系统 * Linus创建了Git工具 * 2008年Github上线 =====基本概念===== {{:wiki:git1.jpeg|}} add是把修改放入暂存区,commit是把暂存区的内容进行提交。\\ 第一次修改 -> git add -> 第二次修改 -> git commit\\ 第二次修改不会被提交。\\ ====工作区(Working Directory)==== 本地电脑上的目录,就是我们的工作区。 ====仓库(Repository)==== 工作区目录中有一个名为.git的目录,这个目录就是Git仓库。 ====暂存区(Stage)==== Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。 =====常用命令===== ====创建仓库==== <code bash> $ mkdir ethdoc_cn $ cd ethdoc_cn $ pwd /root/tempPangXie/ethdoc_cn $ git init Initialized empty Git repository in /root/tempPangXie/ethdoc_cn/.git/ </code> ====创建仓库并关联远程GitHub==== Let us say 'yourWebApp' is the folder you have your local web app. Change it to the directory <code bash> cd 'yourWebApp' #Init git in the folder git init #Now add your github url as a remote git remote add origin git@second.github.com:hsw625728/mengyoutu.git #Here origin is the short name for your url #Now pull the read me file from the github repo git pull origin master #Now push your web app to the github repository git push origin master #Here it is assumed that you are in your master, the default branch </code> ====切换远程仓库==== <code bash> $ git remote rm origin $ git remote add origin <url> </code> ====添加文件到仓库==== <code bash> $ git add readme.txt </code> ====提交修改到仓库==== <code bash> $ git add readme.txt $ git commit -m "添加readme.txt" 1 files changed, 3 insertions(+), 0 deletions(-) create mode 100644 readme.txt </code> ====查看仓库状态==== <code bash> $ git status </code> ====查看修改内容==== <code bash> $ git diff <file> </code> ====产看日志==== <code bash> $ git log </code> <code bash> $ git log --pretty=oneline 411b851fab7dc122f9b815ef04ba7d8e24ac5fae 添加第四行 09d5cfe7237297b205a0b6d6cbabeb0156d90ac9 添加readme.txt </code> ====版本回滚==== <code bash> $ git reset --hard 09d5cfe7 HEAD is now at 09d5cfe 添加readme.txt </code> ====Git命令历史记录==== <code bash> $ git reflog 09d5cfe HEAD@{0}: 09d5cfe7: updating HEAD 411b851 HEAD@{1}: commit: 添加第四行 </code> ====撤销修改==== <code bash> $ git checkout -- readme.txt </code> 命令git ''checkout -- readme.txt''意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:\\ 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;\\ 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。\\ 总之,就是让这个文件回到最近一次''git commit''或''git add''时的状态。 ====删除文件==== <code bash> $ git rm <file> $ git commit -m "删除了文件<file>" </code> ====创建与合并分支==== 创建并切换分支 <code bash> $ git checkout -b <name> Switched to a new branch 'name' </code> 相当于如下两条命令 <code bash> $ git branch dev $ git checkout dev Switched to branch 'dev' </code> ====查看分支信息==== <code bash> $ git branch * dev master </code> ====切换分支==== <code bash> $ git checkout master Switched to branch 'master' </code> ====dev分支合并到master分支==== <code bash> $ git merge dev </code> ====删除分支==== <code bash> $ git branch -d <name> </code> ====删除远程分支==== <code bash> $ git push origin --delete <name> </code> ====查看远程分支==== <code bash> git branch -r </code> ====拉取远程分支并创建本地分支==== 方法一 <code bash> git checkout -b 本地分支名x origin/远程分支名x #使用该方式会在本地新建分支x,并自动切换到该本地分支x。 #采用此种方法建立的本地分支会和远程分支建立映射关系。 </code> 方式二 <code bash> git fetch origin 远程分支名x:本地分支名x #使用该方式会在本地新建分支x,但是不会自动切换到该本地分支x,需要手动checkout。 #采用此种方法建立的本地分支不会和远程分支建立映射关系。 #需要使用下面的命令手动建立映射关系 git branch -u origin/addFile </code> ====查询当前远程的版本==== <code bash> $ git remote -v #获取最新代码到本地(本地当前分支为[branch],获取的远端的分支为[origin/branch]) $ git fetch origin master [示例1:获取远端的origin/master分支] $ git fetch origin dev [示例2:获取远端的origin/dev分支] </code> ====查看版本差异==== <code bash> $ git log -p master..origin/master [示例1:查看本地master与远端origin/master的版本差异] $ git log -p dev..origin/dev [示例2:查看本地dev与远端origin/dev的版本差异] </code> ====合并最新代码到本地分支==== <code bash> $ git merge origin/master [示例1:合并远端分支origin/master到当前分支] $ git merge origin/dev [示例2:合并远端分支origin/dev到当前分支] </code> ====创建TAG===== <code bash> $ git tag -a v1.1.0 -m 'v1.1.0审核版本' $ git show v1.1.0 $ git push origin v1.1.0 </code> ====本地分支推送到远端===== <code bash> $ git push origin pangxie-mobile:pangxie-mobile </code> ====暂时存储stash==== <code bash> #暂存现在的修改 $ git stash #查看现有的暂存stash $ git stash list #恢复一个暂存头部版本(恢复但不删除) $ git stash apply #恢复一个暂存头部版本(恢复同时删除) $ git stash pop </code> ====分支代码强制覆盖master==== <code bash> #切换到develop分支下,并保证本地已经同步了远端develop的最新代码。 $ git checkout develop $ git pull #把本地的develop分支强制(-f)推送到远端master。 $ git push origin develop:master -f #切换到旧分支master。 $ git checkout master #下载远程仓库最新内容,不做合并。 $ git fetch --all #把HEAD指向master最新版本。 $ git reset --hard origin/master </code> ====回滚master==== <code bash> $ git reset --hard 297ff2dcf20605297684f296a4b4ccaa1cf4dc48 $ git push -f origin master </code> ====文件修改历史==== <code bash> git log --pretty=oneline 文件名 git show 356f6def9d3fb7f3b9032ff5aa4b9110d4cca87e </code>
git.txt
· 最后更改: 2020/07/06 07:18 由
螃蟹
页面工具
显示页面
修订记录
反向链接
回到顶部