Git提交到多个远程仓库

有两种做法,先看第一种

一、通过命令行进行操作

例如我有下面两个仓库:

ThinkAdmin:ThinkPHP通用后台

https://github.com/cnsecer/ThinkAdmin

http://git.oschina.net/cnsecer/ThinkAdmin

在项目路径下打开Git Bash

添加一个remote,这里是all,也可以是别的名字

输入:git remote add all https://github.com/cnsecer/ThinkAdmin

再添加另一个:git remote set-url --add all http://git.oschina.net/cnsecer/ThinkAdmin

如果有多个,按照上面这一个命令进行添加.

提交的时候输入:git push all –all

这样就会一次提交到多个库了,上面命令输出如下:

在操作完上面的添加命令后,如果我们打开.git/config文件,我们可以看到这样的配置

从这个配置可以引出我们的第二种方法.

二、直接配置.git/config文件

在配置中添加:

有多少个远程库,就配置多少个url即可.

从这里可以看出,第一种方法生成的配置中还有一个fetch配置,这个配置可以完全去掉

解决git中文乱码问题

1、etc\gitconfig:

说明:打开 Git 环境中的中文支持。pathnameencoding设置了文件路径的中文支持。

2、etc\git-completion.bash:

说明:使得在 Git Bash 中输入 ls 命令,可以正常显示中文文件名

3、etc\inputrc:

说明:使得在 Git Bash 中可以正常输入中文,比如中文的 commit log。

4、etc\profile:

说明:$ git log 命令不像其它 vcs 一样,n 条 log 从头滚到底,它会恰当地停在第一页,按 space 键再往后翻页。这是通过将 log 送给 less 处理实现的。以上即是设置 less 的字符编码,使得 $ git log 可以正常显示中文。其实,它的值不一定要设置为 utf-8,比如 latin1 也可以……。还有个办法是 $ git –no-pager log,在选项里禁止分页,则无需设置上面的选项。

github简单使用教程

github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O~。下面是我总结的一些简单使用方法,供初学者参考。

1.注册账户以及创建仓库

要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。

2.安装客户端msysgit

github是服务端,要想在自己电脑上使用git我们还需要一个git客户端,我这里选用msysgit,这个只是提供了git的核心功能,而且是基于命令行的。如果想要图形界面的话只要在msysgit的基础上安装TortoiseGit即可。

装完msysgit后右键鼠标会多出一些选项来,在本地仓库里右键选择Git Init Here,会多出来一个.git文件夹,这就表示本地git创建成功。右键Git Bash进入git命令行,为了把本地的仓库传到github,还需要配置ssh key。

3.配置Git

首先在本地创建ssh key;

后面的your_email@youremail.com改为你的邮箱,之后会要求确认路径和输入密码,我们这使用默认的一路回车就行。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。

回到github,进入Account Settings,左边选择SSH Keys,Add SSH Key,title随便填,粘贴key。为了验证是否成功,在git bash下输入:

如果是第一次的会提示是否continue,输入yes就会看到:You’ve successfully authenticated, but GitHub does not provide shell access 。这就表示已成功连上github。

接下来我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。

进入要上传的仓库,右键git bash,添加远程地址:

后面的yourName和yourRepo表示你再github的用户名和刚才新建的仓库,加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。

4.提交、上传

接下来在本地仓库里添加一些文件,比如README,

上传到github:

.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add -A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。比如一般c#的项目我的.gitignore是这样写的:

bin和obj是编译目录,里面都不是源代码,忽略;suo文件是vs2010的配置文件,不需要。这样你在git status的时候就只会看到源代码文件了,就可以放心的git add -A了。

6.tag

我们可以创建一个tag来指向软件开发中的一个关键时期,比如版本号更新的时候可以建一个“v2.0”、“v3.1”之类的标签,这样在以后回顾的时候会比较方便。tag的使用很简单,主要操作有:查看tag、创建tag、验证tag以及共享tag。

6.1查看tag

列出所有tag:

这样列出的tag是按字母排序的,和创建时间没关系。如果只是想查看某些tag的话,可以加限定:

这样就只会列出1.几的版本。

6.2创建tag

创建轻量级tag:

这样创建的tag没有附带其他信息,与之相应的是带信息的tag:

-m后面带的就是注释信息,这样在日后查看的时候会很有用,这种是普通tag,还有一种有签名的tag:

前提是你有GPG私钥,把上面的a换成s就行了。除了可以为当前的进度添加tag,我们还可以为以前的commit添加tag:

#首先查看以前的commit

6.3删除tag

很简单,知道tag名称后:

6.4验证tag

如果你有GPG私钥的话就可以验证tag:

6.5共享tag

我们在执行git push的时候,tag是不会上传到服务器的,比如现在的github,创建tag后git push,在github网页上是看不到tag的,为了共享这些tag,你必须这样:

BackTrack5 升级Metasploit至Git更新的方法

由于Kali在虚拟机的运行效率实在让人不敢恭维,于是决心将BT5中的MSF进行升级,升级的主要目的是,BT5R3内置的MSF是用SVN进行更新,但是新版本的MSF已经停止通过SVN更新,改用Git,必须重新安装。网上找了很多办法,看见帖子里明明升级成功,但是自己总是不成功,卡在pg (0.15.0)无法成功安装,个人认为的原因是MSF并没有用BT5内置的RUBY,而是利用自带的RUBY,其自带的版本为1.9.1,已经很古老了……所以升级系统的Ruby版本也会无济于事,但是按照下面的步骤更新,即可将MSF更新至最新,且在运行msfupdate时,利用的是Git更新系统了。
1、apt-get update
2、apt-get install metasploit
3、修改文件:/opt/metasploit/ruby/lib/ruby/1.9.1/i686-linux/rbconfig.rb
changed the line => CONFIG[“LIBRUBYARG_STATIC”] = “-Wl,-R -Wl,$(libdir) -L$(libdir) -l$(RUBY_SO_NAME)-static” by => CONFIG[“LIBRUBYARG_STATIC”] = “-Wl,-R -Wl,$(libdir) -L$(libdir) “(其实就是去掉-l$(RUBY_SO_NAME)-static)
4、切换至/opt/metasploit/msf3然后运行/opt/metasploit/ruby/bin/bundle install
5、msfupdate
实测,完美通过,不会再卡在pg (0.15.0)无法成功安装那里。