Git 相关命令操作全

1.SourceTree 是什么?

  • SourceTree 是 Windows 和Mac OS X 下免费的 Git 和 Hg 客户端,拥有可视化界面,容易上手操作。同时它也是Mercurial和Subversion版本控制系统工具。支持创建、提交、clone、push、pull 和merge等操作。

  • 特点:分布式

  • 优点:就是当前写完了代码, 提交到本地仓库后, 不用害怕丢失, 而且也可以做版本的记录, 如果将来有一天想找回几天前的代码, 也是可以的.
  • 备注:代码的合并是从远程仓库拉取下来别人新写的代码, 然后在本地仓库进行合并(以及如果有冲突由程序员解决)

2.Sourcetree && Git 部分名词解释

1.克隆(clone):从远程仓库URL加载创建一个与远程仓库一样的本地仓库
2.提交(commit):将暂存文件上传到本地仓库(我们在Finder中对本地仓库做修改后一般都得先提交一次,再推送)
3.检出(checkout):切换不同分支
4.添加(add):添加文件到缓存区
5.移除(remove):移除文件至缓存区
6.暂存(git stash):保存工作现场
7.重置(reset):回到最近添加(add)/提交(commit)状态
8.合并(merge):将多个同名文件合并为一个文件,该文件包含多个同名文件的所有内容,相同内容抵消
9.抓取(fetch):从远程仓库获取信息并同步至本地仓库
10.拉取(pull):从远程仓库获取信息并同步至本地仓库,并且自动执行合并(merge)操作,即 pull=fetch+merge 
11.推送(push):将本地仓库同步至远程仓库,一般推送(push)前先拉取(pull)一次,确保一致
12.分支(branch):创建/修改/删除分枝
13.标签(tag):给项目增添标签
14.工作流(Git Flow):团队工作时,每个人创建属于自己的分枝(branch),确定无误后提交到master分枝
15.终端(terminal):可以输入git命令行

用git命令的话 开发中按照以下步骤进行代码提交

0.cd命令进入项目目录然后如下

1. 修改完代码后,git status查看自己的文件修改列表;

2. git diff <文件名> 查看自己的文件修改记录;

3. git add <文件名> 添加需要提交的文件列表;

4. git commit -m "提交说明"

5. git pull,更新一下当前最新的代码;

6. git push 提交代码

3.使用Sourcetree

1.第一步:安装
(1).图标:

(2).不建议在appstore直接搜索下载SourceTree,因为appstore里的版本已经十分老旧(好像是2012年更新的)。建议前往官网下载安装最新版,这里提供一个SourceTree for Machttps://www.sourcetreeapp.com
(3).如果看到下面这个界面就说明安装成功

2.以开源中国为例作为服务器代码托管(也可以用gitlab、github座位服务器代码托管)
(1).先注册开源中国,然后登录,拉到最下面点友情链接的第三个“码云”

屏幕快照 2016-08-26 上午10.45.43.png

或者直接戳这http://git.oschina.net 然后注册登录,界面如下:

然后会给你注册时候的邮箱,发送一个验证邮件,注册一下

然后点击链接,会跳转到主页

备注:已注册的童鞋忽略这一步
(2).创建项目
1).如果你是项目的创始人(小红), 那么你就点击项目(进行创建)

  1. 第一步, 创建项目

  2. 项目创建成功, 如下图
  3. 因为我创建的私有项目(如果是私有项目, 则执行下面这步, 如果不是则略过下面这步(步骤3.x))
    (3.1)点击右上角管理

    (3.2)点击添加项目成员, 我这里另一个(小明)是lidongxu_work@126.com

    这里说一下:

    管理员: 最高权限
    开发者: 可以上传或者克隆(下载)代码 (一般给予这个权限)
    观察者: 只能下载, 无法上传
    报告者: 只能看, 和评论, 什么也不能干!

    (3.3)输入对方oschina邮箱账号, 然后给予权限

    回到项目首页(注意是点你的项目, 例如我这里是a1209woshi)

  4. 获取克隆的网址(给别人使用, 让别人可以用这个网址, 把对应的远程仓库东西克隆(下载)到本地)
    我这里获取到的是 https://git.oschina.net/women2323/a1209woshi.git
  5. 回到SourceTree, 新建本地仓库

    填写克隆URL地址如果是第一次使用SouceTree(并且是私人项目), 会弹出让你输入你的oschina账号和密码(小红)

  6. 上传项目到远程仓库(供别人(小明)下载)
    (6.1) 找到本地仓库文件夹(我的在桌面)

    (6.2) 然后看工作区有变化, 然后把未暂存文件, 放入已暂存文件区中.

    (6.3) 这里说一下, Git的工作原理图

    (6.4) 然后commit(提交)到本地仓库分支中

    (6.5) 养成一个好习惯, 先从远程仓库拉去一下, 然后在本地合并好了, 然后再推送回到远程仓库中, (也就是说, 合并代码是在本地进行的) (注: 如果你不拉取, 很容易把别人刚提交的代码, 顶掉)

    (6.6) 回到网页上去看看, 刷新下, 会看到我刚传的项目

  7. 别人如何拉取这个项目, 把HTTPS克隆网址给他(如果是私有项目, 请确定把对方oschina账号添加到你的项目中了)
    (7.1) 同样, 从URL克隆(新建本地仓库)

    (7.2) 然后填入克隆网址, 然后选择本地仓库位置

    (7.3) 进入到工作区之后, 因为我是要克隆代码从远程仓库到本地, 所以直接点击拉取

    (7.4) 你会惊奇的发现, 本地仓库里, 已经有了远程仓库的东西啦!!(以后再写好代码, 只需要执行第6步)就可以了, 这样就可以方便和别人进行团队协作开发了)

4.用x-code管理代码

不用Sourcetree,直接用X-code进行代码版本管理,
参考http://www.jianshu.com/p/300f8fd043c5

 

source tree传到GitHub:

http://www.jianshu.com/p/be9f0484af9d

git - 管理项目(SourceTree的使用)的更多相关文章

  1. 如何用Android Studio同时使用SVN和Git管理项目

    这篇来讲讲如何在 Android Studio 上同时用 SVN 和 Git 来管理项目.我知道,你肯定会说我吃饱了撑着,没事找事做,为啥要同时用 SVN 和 Git 来管理项目.问题是,我也不想啊, ...

  2. 【Unity】使用Git管理项目及其.gitignore写法

    完整的进行Unity 3D源码用Git管理的流程: 1 新建文件夹(路径要求非空) 2 新建U3D项目 3 添加.gitignore文件 获取已有的U3D项目 修改Unity 3D编辑器: Enabl ...

  3. IDEA使用Git管理项目

    今天将项目使用Git管理了,IDEA. 第一步: 第二步:

  4. vs2015使用Git管理项目

    初级 1,在码云上去注册一个帐号(码云的私有库是免费的,安全性怎么样我不知道) 2,在码云上新建一个项目,把相关的开发人员加到这个项目里,会得到这个项目在码云上的远程仓库的地址. 3,打开vs2015 ...

  5. 敏捷开发系列学习总结(4)—Git管理工具sourcetree的安装

    现在代码管理都流行用git了,小编以前用过clearcase, svn,vss等.现在用了git后,发现git才是最好的,我觉得它最吸引人的地方应该是它的分布式管理吧.git的具体学习,读者可自己去网 ...

  6. 【转载】使用阿里云code和git管理项目

    使用代码云托管和git来管理项目可以使多客户端和多人开发更加高效.通过对比github,bitbucket和国内一些云托管服务发现阿里云在项目空间和传输速度及稳定性上更能满足公司开发的要求.本文将介绍 ...

  7. 用Git管理项目进行版本控制

    一.安装 1.1windows 要在Windows系统中安装Git,请访问http://msysgit.github.io/,并单击Download.安装. 1.2 在 Linux 系统中安装 Git ...

  8. 一个看起来不像中年人的中年人,带着两个初出茅庐的小伙子儿,用git管理项目代码的进击之路

    一个中年人的孤独前行 我们这一代人,是上个世纪的人,活在当下,已然成为社会上的中流砥柱. 80年代生人,遥望我们的父辈,均是5.60年代的人,迟迟暮年,夕夕老矣.而我们,正当年,却又时光飞逝,很快便要 ...

  9. Git 管理项目

    一个很小的HTML项目,使用.Git来记录和跟踪这个项目.包括以下内容: 创建版本库. 添加与修改文件. 创建新分支. 打标签并整理版本库. 克隆版本库. 创建版本库 Creating a Repos ...

随机推荐

  1. Currency Exchange POJ - 1860 (spfa判断正环)

    Several currency exchange points are working in our city. Let us suppose that each point specializes ...

  2. 【Java并发编程二】Java并发包

    1.Java容器 1.1.同步容器 Vector ArrayList是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问.数组的缺点是每个元素之间不能有间隔,当数组大小不满足时 ...

  3. 第三方npm包安装失败

    最近升级一些第三方库,老是出现无法正常安装npm的现象. 一.问题现象 1.webpack4安装失败 // 报错信息 webpack Maximum call stack size exceeded ...

  4. VS之设置文件编码格式

    VS2012默认格式为 "GB2312-80",很多时候可能出现乱码情况,就是编码问题,如何在VS里修改呢? 文件->“高级保存选项 ”  选择gb2312

  5. HTML/CSS实现的一个列表页

    又到休息日,白天没事跟朋友去逛逛街,侃大山,晚上了,上网无趣,于是就想起该练练了, 这次是做了一个页面,最上面是一个banner 用到了一个jQuery的逻辑判断当banner初始top值小于wind ...

  6. centos7 ping不通 name or service not known

    最近打算为centos安装一个界面时,发现不能上网.ping www.baidu.com 报name or service not known. 原来网络配置没设好. 一.选择VMWare的NAT模式 ...

  7. [LeetCode] All Nodes Distance K in Binary Tree 二叉树距离为K的所有结点

    We are given a binary tree (with root node root), a target node, and an integer value K. Return a li ...

  8. (BUG记录)记一次与其他系统交互协作时造成的锁表问题

    最近两日做公司电信某计费项目时,接收一个银行对账的任务,在完成对账后.电信和银行两方金额一致时需要进行充值.冲正操作保持金额一致.冲正服务是JAVA统一调用Tuxedo服务,这个服务已经是一个稳定可用 ...

  9. VIM常用快捷键(转载)

    移动光标 h,j,k,l 上,下,左,右 ctrl-e 移动页面 ctrl-f 上翻一页 ctrl-b 下翻一页 ctrl-u 上翻半页 ctrl-d 下翻半页 w 跳到下一个字首,按标点或单词分割 ...

  10. javaEE学习路线与目标

    1.Java基础知识(15-30天) 2.了解html+css+js+jq+bootstrap(7天) 3.mysql+jdbc(重点)(3天) 4.xml(1天) 5.http协议+tomcat(1 ...