Git命令揭秘

来源:互联网 发布:gd32f103c8t6数据手册 编辑:程序博客网 时间:2024/06/05 19:54
以linuxi下为例,windows和Mac OS与此类似。这里不是分布式版本控制系统git的教程只做个人记录和查找,如果需要教程请移步git教程。

1.安装git
sudo apt-get install git
安装完成后需要进一步配置:
git config –global user.name “YOUR USERNAME”
git config –global user.email “××××@example.com”

2.创建版本库并提交
新建目录:mkdirlearngitcd learngit
$pwd
**/learngit
创建管理仓库:
git init——把这个目录变成Git可以管理的仓库
git add readme.txt——把文件readme.txt添加到仓库
git commit -m “wrote a readme file”——把上述文件提交到仓库,并备注“wrote a readme file”,备注尽量要写,方便自己和团队
3.状态查看
git status——成功提交readme.txt后可以查看仓库的当前状态
git diff readme.txt——查看readme.txt的修改内容然后可通过git add 和git commit -m提交到仓库

4.版本回退
git log——显示从最近到最远的提交日志,如图我的记录
这里写图片描述

git log –pretty=oneline ——以行显示提交日志,或者可视化工具可以很直观的看到Git历史
这里写图片描述
git reset –hard HEAD^——HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上一个版本,HEAD~100表示往上100个版本
git reset –hard 74249——继续往上找到ID为74249*的版本,于是就回到这个版本,版本号没必要写全,前几位就可以了,Git会自动去找
这里写图片描述
git checkout –readme.txt——丢弃工作区的修改,这里有两种情况:一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。总之,就是让这个文件回到最近一次git commit或git add时的状态,也就是清除工作区的修改而不撤销暂存区的修改。(修改(工作区)—git add—修改(暂存区)—git commit—分支(master))
git rm test.txt——前提是已经在磁盘目录删除test.txt,此时如果确实要从版本库中删除则执行此命令然后git commit,如果确实删错了,git checkout –test.txt即可把误删除的文件恢复。

5.远程仓库
git remote add origin https://github.com/wandouqiang/learngit ——远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库
git push -u origin master——把当前分支推送到远程,由于远程库是空的,第一次推送时加-u。推送成功后,可以立刻在GitHub页面中看到远程库的内容已经和本地一模一样。从现在起,只要本地作了提交,就可以通过命令git push origin master把本地master分支的最新修改推送至GitHub
git remote rm origin ——删除已经存在的origin,如果提示fatal: 远程 origin 已经存在则需要执行此命令
git clone https://github.com/wandouqiang/learngit.git ——将远程库克隆到本地库
6.分支管理
git branch dev —— 创建dev分支,
git checkout dev —— 切换到dev分支
git checkout -b dev —— 创建dev分支,并切换到dev分支,相当于上面两条指令
git branch—— 查看当前分支,输出的当前分支前面会有一个*号。此时可以在dev分支上做修改并提交
git checkout master —— 切换到master分支,master是主分支,保持在切换到dev分支之前的状态
git merge dev —— 将dev分支上的成果合并到master上
git branch -d dev —— 合并完成后删除dev分支,-D是强行删除
git log –graph –pretty=oneline –abbrev —— 查看分支情况。如果分支dev有更改而同时master也有更改,但两个分支没有合并,此时就会有冲突。此时修改主分支然后删除掉feature分支
这里写图片描述
git merge –no-ff -m “merge with no-ff” dev —— 合并分支并禁用Fast forward模式,这样分支可以看到历史分支信息
git stash —— 把当前的工作现场隐藏起来,等以后再回复开始工作。此时可以在分支上创建临时分支。此为bug分支,bug分支完成后切换到master分支完成合并,删除bug分支
git stash list —— 查看现场工作区
git stash apply —— 将stash内容回复
git stash drop —— 删除前面保存的stash
git stash pop —— 恢复的同时把stash的内容删除,完成上面两步的内容
git stash apply stash@{0} —— 可以多次stash,恢复的时候用git stash list 查看然后用该命令恢复制定的stash
git push origin master —— 推送分支
git remote -v —— 查看远程库的信息

7.标签管理
git tag —— 切换到需要打标签的分支,打标签写名字
git tag ID —— 通过log查看历史命令找到ID,在历史commit ID上打标签
git tag —— 查看标签
git show —— 查看标签信息
git tag -d ——删除标签
git push origin —— 推送标签到远程
git push origin –tags —— 推送全部标签
8.搭建git服务器
另行博客
参考文献:廖雪峰的官网 这里写链接内容

0 0
原创粉丝点击