git 本土远程仓库
学习或测试一些git命令的效果,你可以使用github这种服务商,也可以自己建立服务器仓库。而后者更方便、快捷也更能体会git到底是什么。
1.新建git远程本地仓库文件夹
# 切换目录 $ cd /Users/lnj/Desktop/git演练/公司/weibo % git init --bare Reinitialized existing Git repository in /home/matt/git/testgit.git/ % ls branches/ config description HEAD hooks/ info/ objects/ refs/
通过ls命令可以看出:git init --bare 初始化的目录等同于一个.git目录的内容。这样就比较好理解git的本质:本地仓库的.git和服务器仓库。它们是一回事情。
# 建立空白代码库
$ git init --bare
注意:这个仓库仅仅是用于管理代码,不参与开发
2.项目经理初始化项目
2.1先克隆一份空的仓库到本地
git clone 远程本地仓库文件夹目录
# 切换目录
$ cd /Users/lnj/Desktop/git演练/经理
# "克隆"代码库到本地
$ git clone /Users/lnj/Desktop/git演练/公司/weibo/
# 个人信息配置(因为要演示一台机器上的多人协作,日常开发可以忽略)
$ git config user.name manager
$ git config user.email manager@163.com
2.2忽略不需要加入版本控制器的文件以及文件夹
echo -e "# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*" > .gitignore
注意:配置忽略文件只需要到github上搜索。gitignore拷贝别人写好的代码即可
https://github.com/github/gitignore/blob/master/Java.gitignore
配置。gitignore一定要在和.git隐藏文件夹同一级的目录下
2.3 生成好的.gitignore文件之后,还需要将.gitignore文件添加到版本控制
# 将.gitignore添加到代码库
$ git add .gitignore
git commit .gitignore -m "配置忽略文件"
2.4 新建项目
commit 将代码提交到本地仓库
push 将代码提交到远程仓库
git中默认就会创建一个分支,这个分支叫做origin/master
% mkdir -p ~/tmp/testgit % cd ~/tmp/testgit % git init Initialized empty Git repository in /home/matt/tmp/testgit/.git/ % touch README % git add . % git commit -m "initial commit" [master (root-commit) 02ecfad] initial commit 0 files changed create mode 100644 README % git remote add origin localhost:/home/matt/git/testgit.git % git push -u origin master Counting objects: 3, done. Writing objects: 100% (3/3), 205 bytes, done. Total 3 (delta 0), reused 0 (delta 0) To localhost:/home/matt/git/testgit.git * [new branch] master -> master Branch master set up to track remote branch master from origin.
查看当前的远程库
要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列出每个远程库的简短名字.在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库:
(1)git remote 不带参数,列出已经存在的远程分支
$ git remote
origin
(2)git remote -v | --verbose 列出详细信息,在每一个名字后面列出其远程url
此时, -v 选项(译注:此为 –verbose 的简写,取首字母),显示对应的克隆地址:
$ git remote -v
origin git://github.com/schacon/ticgit.git如果有多个远程仓库,此命令将全部列出.比如在我的 Grit 项目中,可以看到:
$ cd grit
$ git remote -v
bakkdoor git://github.com/bakkdoor/grit.git
cho45 git://github.com/cho45/grit.git
defunkt git://github.com/defunkt/grit.git
koke git://github.com/koke/grit.git
origin 这样一来,我就可以非常轻松地从这些用户的仓库中,拉取他们的提交到本地.请注意,上面列出的地址只有 origin 用的是 SSH URL 链接,所以也只有这个仓库我能推送数据上去
添加远程仓库
要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行 git remote add [shortname] [url]:
$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin git://github.com/schacon/ticgit.git
pb git://github.com/paulboone/ticgit.git现在可以用字串 pb 指代对应的仓库地址了.