[转]git的GUI工具Sourcetree使用及命令行对比
git的GUI工具Sourcetree使用及命令行对比
1.提交推送
流程
1. 勾选要提交的文件
2. 填写提交说明内容
3. 想提交直接推送到代码仓库时,勾选左下角按钮
4. 最后点击提交按钮即可完成代码推送
等同于
git add index.html //添加暂存文件
git commit -m "feat(index): 新增index.htm首页内容" //添加提交及提交信息
git push //推送至远程
2.贮藏工作区
使用
- 当你想使现在当工作区保持干净时可以使用暂存功能,贮藏会把所有未提交的修改(包括暂存的和非暂存的)都保存起来
- 当你有另一部分内容需要修改但是不想丢弃现在已经修改过当内容时,可以贮藏工作区
- 当你想推送代码时,发现分支已有别人提交当代码(处于分支落后时),可以先暂存代码然后再拉去最新当代码,代码拉取完成并且没有冲突时可以将贮藏区保存的内容应用到当前工作区
等同于
git stash //存储工作区
git stash save 'development' //存储工作区并添加备注内容
git stash list //查看已贮藏区列表
git stash apply //应用最新贮藏的内容(应用后不删除该贮藏)
git stash pop //应用最新贮藏的内容(应用后该贮藏的内容会被删除!)
git stash drop //删除最新贮藏的内容
git stash apply git stash pop git stash drop 都可以指定操作任意一个已贮藏的内容,只需要在后面跟入stash@{1}索引,输入git stash list 查看索引
3.回撤版本
使用
- 当不小心将错误当代码推送到远程仓库想要回撤并且不留下版本记录时
- 选中要回撤到到版本,点击重置到这次提交,此时本地版本将会重置到该版本,并且落后于远程分支
- 最后使用命令行强制推送git push –force origin master,将本地代码强制覆盖到远程仓库
等同于
git reset --soft 634b64d //将版本重置到634b64d版本,或者 git reset --soft HEAD^ 将版本重置到上一个版本,git reset --hard 634b64d 命令则不会保存之前提交到内容
git push --force origin master //强制覆盖远程仓库
4.提交回滚
使用
- 希望将当前提交的版本回滚到这次提交之前并且保留这次提交,可以使用提交回滚
- 选中要回滚的版本,点击提交回滚,此时本地分支将会回滚到该提交之前到状态,回滚也会被当作一次提交,并且领先于远程分支
- 最后推送代码即可完成远程仓库提交记录回滚,并且保留被回滚到记录
等同于
git revert HEAD -n //回滚到上一个版本
git commit -m '回滚该次提交'
git push
5.版本标签记录(tag)
使用
- 在发布阶段性版本时可以为版本做标签记录
- 选中要打标签的版本,点击标签就会弹出要打标签打设置窗口,勾选推送标签后标签会被推送到远程仓库,否则标签只会存在于你的本地仓库
- 删除标签可以删除已经被添加过的标签
等同于
git tag //查看已有的标签
****操作本地仓库标签******
git tag v1.0.0 //为最新的提交记录创建名为'v1.0.0'的标签
git tag v1.0.0 1452113 //为版本号1452113的提交记录创建名为'v1.0.0'的标签
git tag -d v1.0.0 //删除本地仓库名为'v1.0.0'的标签
****操作远程仓库标签******
git push origin v1.0.0 //将名为'v1.0.0'的标签推送到远程仓库
git push origin :refs/tags/v1.0.0 //删除远程仓库里名为'v1.0.0'的标签
6.创建分支
使用
- 创建分支时会在当前分支基础上创建分支
- 勾选工作副本父节点时会在当前分支的最新版本上创建新分支,勾选指定的提交时可以选中创建新版本时的版本记录位置
- 勾选检出新分支时可以在完成版本创建后直接切换到该创建的新分支上
等同于
git branch //查看分支
git branch dev //在当前分支基础上,以最新版本创建名为'dev'的分支
git branch dev d519940 //以'd519940'版本记录,创建名为'dev'的分支
git checkout dev //切换到'dev'分支
git checkout -b dev //创建并切换到'dev'分支
git branch -d dev //删除'dev'分支(删除分支时不能处于所要被删除的分支上)
git branch -D dev //强制删除'dev'分支(分支还没有被合并时需要强行删除,强行删除后将丢失已修改的内容)
******操作远程仓库********
git push origin dev:dev //将本地分支'dev'推送到远程仓库命名为'dev',(本地分支名:远程分支名)
git push --delete origin dev //删除远程'dev'分支
7.合并分支
使用
- 将dev分支提交后,如果要合并到master,先将本地分支切换到master(在分支名称上双击即可切换)
- 要合并至哪个分支,必须先切换到该分支
等同于
git checkout master //切换至master分支
git merge de //合并de分支至master分支
8.拉取分支
使用
git fetch
抓取远程更新取回本地,不会对工作区代码进行合并造成任何影响git push
将本地分支的更新推送到远程- 拉取操作默认全部不勾选的时候使用
git pull --no-commit
--no-commit
参数在拉取合并后,为了防止合并失败并不自动提交,能够给使用者一个机会在提交前审视和修改合并结果--no-ff
不使用fast-forward
方式合并,保留分支的commit
历史--rebase
使用变基代替合并(详见下文)
rebase 变基
git pull
的操作本身上是抓取远端更新然后与本地分支进行合并,合并又分为merge
以及rebase
。
git pull
等同于 git fetch
+git merge
git pull --rebase
等同于git fetch
+git rebase
在落后版本情况下使用merge
拉取合并时,且产生一个merge commit
造成了不必要的合并提交,而且提交线也变得不连贯。使用rebase
变基操作合并时,它会把你的分支移动到master
分支的后面,把master
分支上新的提交并入到你提交之前,这样提交线就变成了一条连贯的线。详见 Git 分支-变基 or Rebase使用
等同于
git fetch //抓取远程更新取回本地不进行合并
git pull //拉取远程更新使用'git merge'的方法合并到本地,并且提交该次合并
git pull --no-commit //拉取远程更新使用'git merge'的方法合并到本地,不会自动提交提该次合并
git pull --no-commit --log
git pull --no-commit --no-ff
git pull --no-commit --rebase //拉取远程更新使用git rebase的方法合并到本地
9.查看修改记录
使用
- 选中文件后右键
查看选中的修改日志
即可查看在当前版本以及之前所有版本的提交记录 - 可视化界面可以很直观的对比文件修改版本记录
等同于
git log index.html //查看'index.html'文件所有的提交信息记录
git log -p index.html //查看'index.html'文件所有的提交修改内容
文章来源:git的GUI工具Sourcetree使用及命令行对比 — — 飞翔荷兰人
[转]git的GUI工具Sourcetree使用及命令行对比相关推荐
- git的GUI工具Sourcetree使用及命令行对比
1.提交推送 流程 勾选要提交的文件 填写提交说明内容 想提交直接推送到代码仓库时,勾选左下角按钮 最后点击提交按钮即可完成代码推送 等同于 git add index.html //添加暂存文件 g ...
- Git的GUI工具sourcetree的使用
一.Git的学习 这部分学习廖雪峰的git教程,参加以下链接: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67 ...
- 报错:此操作系统版本不支持此选项。管理员应使用“打开或关闭 Windows 功能”对话框、“服务器管理器”管理工具或 dism.exe 命令行工具安装/卸载包含 IIS8 的 ASP.NET 4.5
现象再现: windows server 服务器的iis 应用程序池没有ASP.NET 4.5, 过程再现: 根据资料提示重新注册ASPNET_IIS.exe -i 直接提示: C:\WINDOWS\ ...
- Microsoft Windows Installer 工具 Msiexec.exe 的命令行选项
摘自:http://support.microsoft.com/kb/314881/zh-cn 概要 本文列出了 Windows Installer 工具 Msiexec.exe 的命令行选项.Msi ...
- git可视化版本控制工具SourceTree的基本使用
在日常的git版本控制工具上,比较常用的分别是命令行和可视化工具,使用命令行进行操作对命令的掌握度会要求高一点,命令行的操作没有可视化工具带来的反馈直观,在出错的概率上,可视化工具比命令行的操作出错会 ...
- 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)
首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...
- git 版本控制工具(五)-命令行汇总及其他操作
一.命令行汇总 git config //配置本地仓库 常用git config --global user.name.git config --global user.email git confi ...
- python3命令需要使用命令行开发者工具_3 个 Python 命令行工具
用 Click.Docopt 和 Fire 库写你自己的命令行应用. 有时对于某项工作来说一个命令行工具就足以胜任.命令行工具是一种从你的 shell 或者终端之类的地方交互或运行的程序.Git 和 ...
- python命令行工具是什么_Python 命令行神器 Click
Click 是一个用于快速创建命令行工具的 Python 支持库,Click 具有高度可配置性,使用非常少的代码就可以创造一个优雅的命令行工具,Click 使创建命令行工具变得快速而有趣. 实际上 P ...
最新文章
- [LintCode] Maximum Subarray 最大子数组
- 04-VTK可视化管线(1)
- 实用分层模板,分分钟了解UI界面设计基本原则!
- 产生滚动条时JPanel的大小发生变化
- 计算机网路网络层之DHCP协议
- luac 格式分析与反编译
- Win7环境变量下的用户变量和系统变量的区别
- 微信小程序 内容评论-回复评论-回复回复的实现
- Java项目:jsp+servlet网上会议室预约系统
- 川大高分子为什么不学c语言,四川大学软件工程考研难吗
- 输出乱码疑难杂症总结及解决方案
- Google APIs 学习/使用
- 想换4K显示器了?那你搞懂啥是4K了吗?
- 12、Pytest之@pytest.mark.自定义标签使用
- 【STM32+cubemx】0021 HAL库开发:EN28J60芯片移植uIP以太网协议栈
- 使用 xrdp 远程登录ubuntu出现黑屏或者花屏
- 化工人员定位系统实现高效智能管理
- 常用移动应用 Packagename 和 URL Scheme
- 2021年西式面点师(初级)报名考试及西式面点师(初级)新版试题
- LabVIEW CompactRIO 开发指南10 确保可靠性与看门狗定时器