git - 管理项目(SourceTree的使用)
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).先注册开源中国,然后登录,拉到最下面点友情链接的第三个“码云”
或者直接戳这http://git.oschina.net 然后注册登录,界面如下:


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

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

备注:已注册的童鞋忽略这一步
(2).创建项目
1).如果你是项目的创始人(小红), 那么你就点击项目(进行创建)
- 第一步, 创建项目
- 项目创建成功, 如下图
- 因为我创建的私有项目(如果是私有项目, 则执行下面这步, 如果不是则略过下面这步(步骤3.x))
(3.1)点击右上角管理(3.2)点击添加项目成员, 我这里另一个(小明)是lidongxu_work@126.com
这里说一下:
管理员: 最高权限
开发者: 可以上传或者克隆(下载)代码 (一般给予这个权限)
观察者: 只能下载, 无法上传
报告者: 只能看, 和评论, 什么也不能干!(3.3)输入对方oschina邮箱账号, 然后给予权限
回到项目首页(注意是点你的项目, 例如我这里是a1209woshi)
- 获取克隆的网址(给别人使用, 让别人可以用这个网址, 把对应的远程仓库东西克隆(下载)到本地)
我这里获取到的是 https://git.oschina.net/women2323/a1209woshi.git- 回到SourceTree, 新建本地仓库
填写克隆URL地址如果是第一次使用SouceTree(并且是私人项目), 会弹出让你输入你的oschina账号和密码(小红)
- 上传项目到远程仓库(供别人(小明)下载)
(6.1) 找到本地仓库文件夹(我的在桌面)(6.2) 然后看工作区有变化, 然后把未暂存文件, 放入已暂存文件区中.
(6.3) 这里说一下, Git的工作原理图
(6.4) 然后commit(提交)到本地仓库分支中
(6.5) 养成一个好习惯, 先从远程仓库拉去一下, 然后在本地合并好了, 然后再推送回到远程仓库中, (也就是说, 合并代码是在本地进行的) (注: 如果你不拉取, 很容易把别人刚提交的代码, 顶掉)
(6.6) 回到网页上去看看, 刷新下, 会看到我刚传的项目
- 别人如何拉取这个项目, 把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的使用)的更多相关文章
- 如何用Android Studio同时使用SVN和Git管理项目
这篇来讲讲如何在 Android Studio 上同时用 SVN 和 Git 来管理项目.我知道,你肯定会说我吃饱了撑着,没事找事做,为啥要同时用 SVN 和 Git 来管理项目.问题是,我也不想啊, ...
- 【Unity】使用Git管理项目及其.gitignore写法
完整的进行Unity 3D源码用Git管理的流程: 1 新建文件夹(路径要求非空) 2 新建U3D项目 3 添加.gitignore文件 获取已有的U3D项目 修改Unity 3D编辑器: Enabl ...
- IDEA使用Git管理项目
今天将项目使用Git管理了,IDEA. 第一步: 第二步:
- vs2015使用Git管理项目
初级 1,在码云上去注册一个帐号(码云的私有库是免费的,安全性怎么样我不知道) 2,在码云上新建一个项目,把相关的开发人员加到这个项目里,会得到这个项目在码云上的远程仓库的地址. 3,打开vs2015 ...
- 敏捷开发系列学习总结(4)—Git管理工具sourcetree的安装
现在代码管理都流行用git了,小编以前用过clearcase, svn,vss等.现在用了git后,发现git才是最好的,我觉得它最吸引人的地方应该是它的分布式管理吧.git的具体学习,读者可自己去网 ...
- 【转载】使用阿里云code和git管理项目
使用代码云托管和git来管理项目可以使多客户端和多人开发更加高效.通过对比github,bitbucket和国内一些云托管服务发现阿里云在项目空间和传输速度及稳定性上更能满足公司开发的要求.本文将介绍 ...
- 用Git管理项目进行版本控制
一.安装 1.1windows 要在Windows系统中安装Git,请访问http://msysgit.github.io/,并单击Download.安装. 1.2 在 Linux 系统中安装 Git ...
- 一个看起来不像中年人的中年人,带着两个初出茅庐的小伙子儿,用git管理项目代码的进击之路
一个中年人的孤独前行 我们这一代人,是上个世纪的人,活在当下,已然成为社会上的中流砥柱. 80年代生人,遥望我们的父辈,均是5.60年代的人,迟迟暮年,夕夕老矣.而我们,正当年,却又时光飞逝,很快便要 ...
- Git 管理项目
一个很小的HTML项目,使用.Git来记录和跟踪这个项目.包括以下内容: 创建版本库. 添加与修改文件. 创建新分支. 打标签并整理版本库. 克隆版本库. 创建版本库 Creating a Repos ...
随机推荐
- MySQL 栏位修改为区分大小写
) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL; ) BINARY CHARACTER SET utf8 COLLATE utf8_ ...
- VS 2013Ultimate 开发过程中遇到的问题——listbox的隐藏问题,combobox.textchanged的中文问题
最近项目有需求,就是把一个combobox让它可以根据用户输入的汉字就行模糊查询出匹配的下拉框内容,很简单,是吧 但是!!!在开发中真是遇到了不少问题呢. 一.实现流程 1)我的实现思维是这样的,先把 ...
- linux gdb
linux gdb linux 测试代码 #include <stdio.h> #include <stdlib.h> static char buf[255]; static ...
- vue动态切换组件
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>& ...
- 心得体会,搞清楚你为什么学习C++?
小编作为一名初学者时,从来没问过自己学习C语言.C++等语言是为了什么? 一开始,接触到这个行业可以说是有种魔力引导我,感到了很大的兴趣,很有意思. 我试着读资料,报名学习,找资料,可算是功夫不负有心 ...
- mysql数据库 ,java 代码巧妙结合提升系统性能。
查询频繁的表t_yh_transport_task 保证数据量最少,增加查询效率, 常用于查询的字段增加索引, 每日定时移动数据 <!-- 医院系统预约任务历史删除定时器 --> & ...
- ios中getTime()的兼容性问题
· var getTime = function(time){ var myDate = new Date(time); var u = navigator.userAgent; var isAndr ...
- entOS7查看开放端口命令
CentOS7的开放关闭查看端口都是用防火墙来控制的,具体命令如下: 查看已经开放的端口: firewall-cmd --list-ports 开启端口 firewall-cmd --zone=/tc ...
- Flutter 页面入栈和出栈
Docs demo import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp ...
- linux学习:curl与netcat用法整理
CURL 语法: curl [option] [url] 常用参数:-A/--user-agent <string> 设置用户代理发送给服务器-b/--cookie <name=st ...

























