学习一下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. .net垃圾回收

    垃圾回收器(gc)用来在.NET中进行内存管理,特别是它可以恢复正在运行的应用程序需要的内存. .NET运行库采用的方法是垃圾回收器,这是一个程序,其目的是清理内存.方法是所有动态请求的内存都分配到堆 ...

  2. Uncaught (in promise) Provided element is not within a Document

    今天在使用html2canvas生成海报的时候,发现报了个如下图所示的错误: 发生这个错误的本质原因是在调用html2canvas的时候传递的是jQuery对象,而不是DOM原生对象. 开始的时候我是 ...

  3. Linux命令 cat命令

    这个命令可不是“猫”的意思,而是catenate的缩写.顾名思义,是把东西串起来.比如:cat file1 file2就是把文件file1和file2连在一起,然后输出到屏幕上.注意,输出到屏幕上是c ...

  4. 关于Cocos2d-x中的scheduleUpdate和update方法的使用

    一.如果要让某类实例对象要连续执行某些语句(比如让每个Block实例从运行框最右边移动到最左边) 要在Block类中增加一些东西 1.先在其.cpp文件的init()函数中执行scheduleUpda ...

  5. UI标签库专题十一:JEECG智能开发平台 DictSelect (数据字典下拉选择框)

     1. DictSelect (数据字典下拉选择框) 1.1. 參数 属性名 类型 描写叙述 是否必须 默认值 typeGroupCode string 字典分组编码 是 null field s ...

  6. 【Java面试题】22 JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?

    throws是获取异常throw是抛出异常try是将会发生异常的语句括起来,从而进行异常的处理,catch是如果有异常就会执行他里面的语句,而finally不论是否有异常都会进行执行的语句. thro ...

  7. 浅谈session测试

    Session 是用于保持状态的基于 Web 服务器的方法,在 Web 服务器上保持用户的状态信息供在任何时间从任何页访问.Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过 ...

  8. 动态提交使用jQuery 完成ajax 文件下载----后端php

    1.js代码 // Ajax 文件下载 //当不用传参时,可以将data去掉 jQuery.download = function(url, data, method){ // 获得url和data ...

  9. Wex5短信验证

    调了好几天短信验证测试,终于成功,现将全部源代码发给大家,希望对各位有所帮助,少走弯路        Model.prototype.saveUserBtnClick = function(event ...

  10. Java任务调度开源框架quartz学习

    一.quartz学习 Java框架介绍:Quartz从入门到进阶 http://edu.yesky.com/edupxpt/233/2209233.shtml 1.例子:http://javacraz ...