热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Window下使用Git小记

一、安装必要客户端1.TortoiseGithttp:tortoisegit.googlecode.comfilesTortoiseGit-1.0.2.0-32bit.msi

一、安装必要客户端

1. TortoiseGit

   http://tortoisegit.googlecode.com/files/TortoiseGit-1.0.2.0-32bit.msi

下载安装后,重启系统。

2. 安装 msysgit

   a. 从 http://msysgit.googlecode.com/files/Git-1.6.2.1-preview20090322.exe 下载并安装;

3. JGit/EGit plug-in for Eclipse 3.5

   a. 菜单 -> Help -> Install New Software -> "Add" Button;

   b. "Add Site" 

      Name     : jgit Location

      Location : jgit - http://www.jgit.org/updates

选择最新版本(目前是 0.5.0.200908282229)安装之;

   c. 重启 Eclipse

=============================================================================

二、在服务器上建立公共库 并提交第一个项目

说明中省略了在提示框填写密码的步骤。

1. ssh 到服务器,假设当前目录为你的帐户根目录;

2. 在服务器上建立公共库

      $ mkdir gitdemo.git  #仓库名称为 gitdemo.git

      $ cd gitdemo.git

      $ git --bare init --shared #建立裸库,且为 group 共享模式

刚刚创建的 Git 仓库是没有任何分支的,因此也没有 clone 的意义。

所以我们需要向新的仓库上传一些东西,以初始化仓库。

3. 管理员添加公共库的第一个项目

我将在 D:\ 目录下开始所有操作。

   a. 建立本地 Git 仓库的文件夹 AndroidSpace

建议如没有特殊需要,此处不要在 Eclipse 的 workspace下建立仓库目录,

也不要将 workspace 作为仓库目录,否则会使得环境过于复杂,可能造成不必要的麻烦。

最好在与 workspace 同目录下建立仓库目录,例如 AndroidSpace。

也就是说 AndroidSpace 是本地的一个 Git Repository,同时也被当作是 Eclipse 的一个

工作空间,当然它并不是真正你设置的 workspace。

   b. 进入 AndroidSpace 目录,右键点击显示菜单,选择 "Git create repository here",

将会建立一个 .git 目录,此时 AndroidSpace 已经成为一个本地 Git 仓库。

   c. 这里需要手动添加 ".gitignore 文件,以过滤不需要进行版本控制的文件。

方法:

在 AndroidSpace 仓库中新建一个文本文件,如叫 ignore.txt;

向其中添加需要过滤的文件名称的匹配字符,如:

      */bin/*

      */gen/*

添加完毕后保存关闭,在 cmd 窗口,执行以下命令:

      D:\AndroidSpace>ren ignore.txt .gitignore

将 ignore.txt 改名为特定的 .gitignore 文件,直接 F2 重命名在 windows 是不允许的。

   d. 此时使用 Eclipse 建立一个 Android 工程(你也可以用别的)。

注意将目录定位到 AndroidSpace中(你刚才创建的 Git 本地库)。

   c. 此时,Test 项目文件夹及内部各文件都会标有一个大大的问号。

右键点 Test 项目 -> TortoiseGit -> Add... -> 确认要 add 的文件 -> OK;

   d. 此时,Test 项目文件夹及内部不被过滤的文件都会标有一个大大的十字。

右键点 Test 项目 -> (Git commit -> "master") -> 写 comment 以及确认要提交的文件 -> OK ->

完毕后有两个 button : Close 和 Push。

如果 Close 则直接关闭对话框。

如果 Push,则会弹出 Push 对话框,以便将当前分支同步到服务器公共库上。在对话框中填写:

Local:master | Remote:master

Destination: 如果是第一次配置,需要点击 Manage button,打开 Settings 对话框,

右侧面板中填写

Remote:origin | Url: username@server_ip:your_account_dir/gitdemo.git

拷贝一下Url。

点击 "Add New" -> 点击 "应用"。

回到Push对话框,此时 origin 并不会自动显示,你需要选择 Arbitray URL再次填写

一遍 刚才的 Url(下次打开时就会有 origin) 了。

点击“OK”,push 操作完成。

(你也可以 右键点 Test 项目 -> TortoiseGit -> Push... 打开Push对话框。)

此时,Test 项目文件夹及内部不被过滤的文件都会标有一个大大的对号。

   e. 此时在服务器的公共库目录下 使用 git log 命令,可看到刚刚 push 的项目日志。

这样公共库的建立及第一次初始化操作完毕(图 Tor 1, Tor 2)。

   f. 用同样的方法可将之前创建的 .gitignore 文件上传,不妨试一下。

三、从已建立好的公共库上 clone 项目

1. 在 AndroidSpace 同目录下,右键 -> Git clone -> Git clone 对话框,填写 Url 和 Directory,

   Url: username@server_ip:your_account_dir/gitdemo.git。

点击 “OK”,完成 clone。

此时,你可以在 Eclipse 中导入这个新建库中的 Test 项目。就像“Windows XP 下使用 Git 小记 (二)”一样。

四、进行一次两个客户端的同步

这里,由于我是在一台机器上进行操作,所以不能起同样的项目名称,我的当前环境如下:

(你可以将 Eclipse 中的项目删除,重新导入,并分别重命名为 Test1 Test2)

D:/AndroidSpace/Test    导入为-->  Eclipse Test1

D:/AndroidClient/Test   导入为-->  Eclipse Test2

      AndroidSpace 和 AndroidClient 为前述中提到的两个本地 Git Repository, 在服务器上有我们的公共

      Git 库 gitdemo.git。

现在要做的就是,修改 Test1 中的 Test.java 文件,提交修改,并同步到 gitdemo.git,Test2 再与

      gitdemo.git 同步,获取最新的 Test.java 文件的修改。

在将 Git 中的项目导入到 Eclipse 中时,Eclipse 会修改项目目录下的 .classpath 文件,没有关系,

它看起来似乎只是调换了一下里面的内容。把它当作一个普通文件就好了。

1. 打开 Test1 项目的 Test.java 文件,添加如下代码:

private static final String TAG = "Test";

...

setContentView(R.layout.main);

        Log.v(TAG, "Test Message");

...

2. 保存修改后,(不是在 Eclipse 中)右键点击 Test.java -> (Git commit -> "master")

-> 填写 comment,确认要更改的文件,并点击“OK”提交 -> Close;

3. 右键 Test.java -> TortoiseGit -> Push... -> 填写字段 -> OK,push完毕。

可以在服务器端 git log 看看日志。

4. 下面对 AndroidClient 进行一下同步。

右键 AndroidClient -> Git Sync... -> Git Synchronization 对话框 -> 填写表单 ->

点击“Pull”按钮 -> 就会显示出同步结果。

我的有两个: add .gitignore 和 modify Test.java,如果没有冲突,将会自动合并,

如有冲突,那就先解决冲突,再提交修改。

=================================================================================

实际使用的情况会更负责,比如 push 时,一般都需要先 pull 一下,否则如果公共库相对你

的本地库有修改,那 push 操作会失败。

********************************************************************************

TortoiseGit 功能十分强大,而且十分人性化,

需要在使用的过程中不断磨合。clip_image001clip_image002

clip_image003

clip_image004

clip_image005


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • 本文介绍了使用Python编写购物程序的实现步骤和代码示例。程序启动后,用户需要输入工资,并打印商品列表。用户可以根据商品编号选择购买商品,程序会检测余额是否充足,如果充足则直接扣款,否则提醒用户。用户可以随时退出程序,在退出时打印已购买商品的数量和余额。附带了完整的代码示例。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
author-avatar
前方体育538
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有