学习一下sourcetree使用git

目录

一 克隆Clone

二 提交Commit和推送Push

三 拉取pull和获取fetch

四 版本回退reset

五 检出checkout

六 标签Tag

一 从远程库克隆Clone

Clone就是将远程库的代码拷贝到本地。

填写远程和本地项目路径,点击“克隆“。这样就会将服务器上项目代码克隆到本地了。

git -c diff.mnemonicprefix=false -c core.quotepath=false clone --recursive https://git.coding.net/gamedaybyday/HelloGit.git D:\Git\HelloGit
Cloning into 'D:\Git\HelloGit'...

二 提交Commit和推送Push

commit将工作空间修改提交到本地库。

push将本地库修改提交到远程库。

新建一个test.txt来测试,任意改点什么。在文件状态处可查看,红色为删除,蓝色为增加部分。

将修改后文件由未暂存文件,勾选到已暂存文件。

选择提交

添加修改日志。

这里如果勾选“立即推送变更”则会同时执行commit和push。

git -c diff.mnemonicprefix=false -c core.quotepath=false commit -q -F C:\Users\gzy\AppData\Local\Temp\ofkmvj0p.tft

这时,修改的代码提交到了本地仓库。sourcetree会提示有修改代码尚未推送到远程库。

选择推送。将本地仓库推送push到远程库。

git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:master

 

三 拉取pull和获取fetch

pull 从远程拉取最新版本 到本地  自动合并 merge

fetch   从远程获取最新版本 到本地   不会自动合并 merge

虚线表示拉取到本地仓库

实现表示拉取到本地仓库,并合并到工作空间

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
From https://git.coding.net/gamedaybyday/HelloGit
9664a7c..42c8f2e master -> origin/master
git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin

git -c diff.mnemonicprefix=false -c core.quotepath=false pull origin master
From https://git.coding.net/gamedaybyday/HelloGit
* branch master -> FETCH_HEAD

假如有冲突,使用解决冲突。

 

 四 版本回退reset

reset 将当前版本回退到选定的版本

git -c diff.mnemonicprefix=false -c core.quotepath=false reset -q --mixed 657cf95e9925724ea54f81c2dc03f09ab025d571

 五 检出checkout

checkout 创建分支,切换分支。

checkout时,如果只有当前分支,则会新建一个分支。

如果是两个分支间checkout,则会切换分支。

将项目从最新checkout到modify11:46,这时HEAD指向到modify11:46这个版本。

git -c diff.mnemonicprefix=false -c core.quotepath=false checkout 657cf95e9925724ea54f81c2dc03f09ab025d571
Note: checking out '657cf95e9925724ea54f81c2dc03f09ab025d571'.

当修改这个checkout的分支时。可以看到从modify11:46checkout后,修改的提交会忽略到modify11:47以后的提交。

相当于checkout命令 创建了新分支,并切换到了这个分支。

但是这个分支是不存在的。要新建一个分支。

六 标签Tag

tag 就是给这个版本打个标记,方便用于识别查看等操作。

git -c diff.mnemonicprefix=false -c core.quotepath=false tag -a -m "" tag3

Git学习笔记(SourceTree克隆、提交、推送、拉取等)的更多相关文章

  1. git day01笔记 常用操作命令 快照 推送 拉取

    ansible 批量在远程主机上执行命令或者脚本 git   做版本控制的一个工具 ## git操作命令: 工作区:当前编辑的区域 缓存区:add 之后的区域 本地仓库:commit之后的区域 远程仓 ...

  2. git push & git pull 推送/拉取分支

    git push与git pull是一对推送/拉取分支的git命令. git push 使用本地的对应分支来更新对应的远程分支. $ git push <远程主机名> <本地分支名& ...

  3. 版本控制git之三-多人协作 变基 推送 拉取 删除远程分支

      版本控制git之三-多人协作 wangfeng7399已关注0人评论350人阅读2019-02-20 21:33:08   如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源 ...

  4. Git总结笔记3-把本地仓库推送到github

    说明:此笔记在centos 7 上完成 1.配置公钥 [root@kangvcar ~]# ssh-keygen -t rsa -C "kangvcar@126.com" [roo ...

  5. 关于git分支管理,推送拉取等等

    git推送本地分支到远程分支 场景 有时候我们开发需要开一个分支,这样可以有效的并行开发. 开分支有两种方式: 一种是在远程开好分支,本地直接拉下来; 一种是本地开好分支,推送到远程. 远程先开好分支 ...

  6. Git 学习笔记--删除错误提交的commit

    如果不小心把错误的commit给commit了,可以对其进行撤销 1.使用git log查看commit日志,找到错误提交前一版本commit的哈希值; 2.使用git reset --hard co ...

  7. git push & git pull 推送/拉取指定分支

    https://blog.csdn.net/litianze99/article/details/52452521

  8. 解决TortoiseGit 推送 拉取需要密码的问题

    找到解决了方法: 1)运行PuTTYGen,在Conversions菜单中点击Import key,选择ssh-keygen生成的私钥文件所在位置,比如id_rsa文件. 2)点击Save priva ...

  9. Git学习笔记(4)——添加远程仓库,克隆远程库,以及库的推送

    本文记录了远程库的连接和库的克隆和推送. 远程仓库简介 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且 ...

随机推荐

  1. ios两视图间托付(delegate)传值

    现有两个视图(ViewController.ViewController1),从ViewController中带參数跳转到ViewController1,在ViewController1选中数据后带有 ...

  2. Juint测试

    添加"Juint测试"组件: 之后不用写在main方法里面便可以直接测试:

  3. ASP.NET C# 获取当前日期 时间 年 月 日 时 分 秒

    我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...

  4. EasyUI效果--DataGrid的编辑效果

    DataGrid的编辑效果是我目前使用的easyUI的第三个效果,相对于前两个,这个算是比较复杂点了.    运行起来的效果,大概就是这样,任意点击某行,然后该行变为可以编辑的,失去焦点之后,该行恢复 ...

  5. 论SparkStreaming的数据可靠性和一致性

    转自: http://www.csdn.net/article/2015-06-21/2825011 摘要:眼下大数据领域最热门的词汇之一便是流计算了,而其中最耀眼的无疑是来自Spark社区的Spar ...

  6. chrome 版本升级到56,报错Your connection is not private NET::ERR_CERT_WEAK_SIGNATURE_ALGORITHM

    ubuntu14.04 解决方法: $ sudo apt-get install libnss3-1d ref: http://stackoverflow.com/questions/42085055 ...

  7. datepicker防手动输入

    在<input>中加入readonly="readonly"

  8. memcached +mysql+php 例子

    <?php header("content-type:text/html;charset=utf-8"); $memcachehost = '127.0.0.1'; $mem ...

  9. js 停止事件冒泡 阻止浏览器的默认行为

    在前端开发工作中,由于浏览器兼容性等问题,我们会经常用到“停止事件冒泡”和“阻止浏览器默认行为”. 浏览器默认行为: 在form中按回车键就会提交表单:单击鼠标右键就会弹出context menu. ...

  10. DOTween中的Time.Scale

    因为在做游戏暂停的时候通常会使用Time.Scale = 0 ,可是暂停的时候UI如果需要继续有动画怎么办呢?在DoTween中只需要设置         tweener.SetUpdate(true ...