惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
Security Latest
Security Latest
Simon Willison's Weblog
Simon Willison's Weblog
O
OpenAI News
GbyAI
GbyAI
L
LINUX DO - 最新话题
A
Arctic Wolf
T
Tor Project blog
G
GRAHAM CLULEY
I
InfoQ
博客园_首页
IT之家
IT之家
The Register - Security
The Register - Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
K
Kaspersky official blog
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
U
Unit 42
PCI Perspectives
PCI Perspectives
量子位
P
Palo Alto Networks Blog
S
Securelist
T
Troy Hunt's Blog
博客园 - 【当耐特】
Recorded Future
Recorded Future
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
S
Security Affairs
Engineering at Meta
Engineering at Meta
T
The Blog of Author Tim Ferriss
博客园 - 聂微东
罗磊的独立博客
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
NISL@THU
NISL@THU
C
Cisco Blogs
T
Threatpost
有赞技术团队
有赞技术团队
Forbes - Security
Forbes - Security
Hugging Face - Blog
Hugging Face - Blog
Last Week in AI
Last Week in AI
T
The Exploit Database - CXSecurity.com
Cloudbric
Cloudbric
Cyberwarzone
Cyberwarzone
Google DeepMind News
Google DeepMind News
C
Cyber Attacks, Cyber Crime and Cyber Security

博客园 - 清炒白菜

Unable to resume activity : android.database.StaleDataException: Attempted to access a cursor after it has been closed. 异常 Android的匿名Handler类引起的内存泄露 计算2个经纬度之间的距离 用bcp导入DateTime类型的数据 Linux下提示“omitting directory”错误的解决办法 Android的"返回“功能 EditText获得焦点后,如何关闭软键盘 获取当前Activity的Root View 用代码动态设置ImageView的align布局 Android中Sqlite数据库多线程并发问题 [转]Java的数组(Array)、Vector、ArrayList、HashMap的异同 HTML中element.style取值问题 用bcp导入大量数据(代替INSERT) ajax跨域访问问题 又一款分布式版本控制工具Mercurial bcp导入导出数据发生异常解决方案 - 清炒白菜 - 博客园 导出Google Reader中加星的内容项 - 清炒白菜 - 博客园 dotNet 自带线程池与HTTP访问的若干疑问 解决"the database principal owns a schema in the database and cannot be dropped"问题
在win下使用GIT
清炒白菜 · 2009-08-25 · via 博客园 - 清炒白菜

[转自]http://iceskysl.1sters.com/?action=show&id=358

以前说过“与时俱进,使用Git”,在自己的本本上,已经Ubuntu好久了,Git也是有的非常好,但是有的时候在其他机器上,是个weindows,需要使用Git的时候,就只能找找有没有wein版本的git客户端了。
找到一个msysgit ,按照里面的说明下载安装就OK了,下面看看如何使用:
-----------------使用---------------
好,下面来个简单教程.标准的 git 教程是行不通的(要加些东西),因为这是windows.主要是没有用户信息.好我的git安装在 c:\git 以下为命令行.

1.创建git的数据库

C:\Git\bin>git init-db

2.生成一个文件xxx并加入到git中
C:\Git\bin>echo hello > xxx
C:\Git\bin>git add xxx

3.提交[以上两步与标准教程还是一样的,关键是这一步]
C:\Git\bin>set home=c:\
C:\Git\bin>git config --global user.name "clq"
C:\Git\bin>git commit -m "test"

一共三个命令,其中第1个是设置用户路径,第2个是设置用户名.而且是每次打开dos命令行后都要有这两个命令,当然你可以写成 bat 文件.第3个才是提交,不能直接写 git commit 因为这个版本好象一定要有注释,那个 "test" 就是我加的注释了.

4.改一下xxx文件
echo world >> xxx

5.查看一下它和我们原来对比的有什么不同
C:\Git\bin>git diff

结果如下
diff --git a/xxx b/xxx
index 907cd4b..360c7f4 100644
--- a/xxx
+++ b/xxx
@@ -1 +1,2 @@
hello
+world
(END)

用过cvs的都明白了吧.另外这个显示的还得退出,退出命令和vi一样


提交可以用一个命令来完成
git commit -m "" -a xxx

省去git add

C:\Git\bin>git show xxx
查看最近一次提交的信息.

C:\Git\bin>git commit -a -m"aa"

提交全部更改过的文件.

SVNGit的主要区别

Git是分布式SCM,而SVN是基于服务器的,也就是说每个开发者本地都有一套git库,每个人维护自己的版本(或者合并其他人的版本),而SVN是每个人写完代码后都及时的checkin到服务器上,进行合并。

如果上面这段话还不能让你真正了解Git的好处,而不想使用git来替代你的svn的话,那么我再列举几个我认为不错的比较直观的场景:

1、可以在本地(离线)就做好版本控制,而不用时刻连网,特别是Soho一族或者喜欢经常到处跑,又喜欢在路上、车上或者马路旁边的小凳子上coding的人;这个时候你可以在自己的Git库上进行版本控制,而不用到处找网络把代码搞到svn上去。

2、分布式的SCM更加安全和健壮,有没有想过,如果你的SVN版本服务器挂掉了(硬盘坏了或者网络不可用等等),你会咋样,能修复的好么,一旦修复不好,资料都完蛋了,而Git的分布式SCM,其中的几个节点挂掉影响并不大。

3、速度,你如果使用GoogleCode或者其他的SVN服务的话,不知道你是否有呆呆的等待chenkin完成的情况(我是经常有的),而Git,毫无疑问,速度快的多,(就算是使用GitHub也快),究其原因,应该是Git是打包好了上传,而不像SVN单个文件上传。

4、版本、分支管理

还有啥?想不来了,差不多就这样了,视个人情况而定,但是我认为Git会让你更加满意。

但是有人可能会有这样的想法,我本地使用git,然后定时的checkin到SVN上,这样岂不是更好,啊哈,好吧,你还不习惯或者还有其他的特殊情况(比如其他开发者不喜欢git,或者原来的代码在svn上等等),这里看看如何把git和svn结合起来一起使用。

1、比较笨的方法

同时使用Git和SVN,然后再各自的“忽略”列表里面加加上对方的版本库,比如在svn的忽略列表中加上.git,而同时在git的.gitignore中加上.svn;然后执行各自的命令。

2、比较靠谱的方法

使用git-svn应该算更加科学和靠谱的方法,安装好git-svn(这个是需要单独安装的)后,就可以使用啦,基本上是这样的:

mkdir 1stlog
cd 1stlog && git-svn init http://1stlog.googlecode.com/svn/trunk/

其他的就不多说了,可以参考“git and subversion”和“Howto use Git and svn together”以及“git-svn 常用功能示例”。


参考: