如果拥有CVS或者SVN的使用背景,那么更熟悉的方法是客户端-服务器端模式,所有的文件仓库(repository)都是存放在服务器上的,用户需要在本地安装客户端去服务器上的项目中获取旧版本,提交新版本。 GIT抛弃了这种模式,当用户从远端GIT仓库下载一个工程(project)时,这个工程的所有文件,包括版本历史,文件改动都会下载下来,这时 候本地GIT就演变成了一个服务器,所有的提交(check-in)、提出(check-out)都会在这个本地服务器上执行,当你确定一项修改之后,可 以再和远端仓库进行合并和同步(merge)。所以,GIT的安装和配置步骤无论在本机还是服务器上都是完全一样的。 这里简单地介绍GIT在Linux上的安装和使用,算做一个新手入门的简单教程。另外,GIT是有Windows上的客户端的。 1、下载和安装GIT从这里 http://git-scm.com/download 下载GIT或者使用wget命令获取$ wget http://kernel.org/pub/software/scm/git/git-1.7.6.tar.bz2 以上地址若是无法下载到的话,请到http://download.csdn.net/detail/lovejuan007/3713236 下载 解压后切换到其目录 $ tar xvfj git-1.7.6.tar.bz2 $ cd git-1.7.6 使用默认配置进行安装,如果想修改配置,可以使用 ./configure --help 来获取帮助 $ ./configure $ make $ make install 2、初始化配置GIT默认安装在 /usr/local/bin ,安装之后可以验证一下是否安装好$ whereis git git: /usr/local/bin/git $ git --version git version 1.7.6 $ git --help 首先需要指定用户名和电子邮件地址 $ git config --global user.name “GIT Admin” $ git config --global user.emal obugs.net@gmail.com 再验证一下配置信息 $ git config --list user.name=GIT Admin user.email=obugs.net@gmail.com core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true 其实这些配置是存放在个人主目录下的 .gitconfig 文件中的 $ cat ~/.gitconfig [user] name = GIT Admin email = obugs.net@gmail.com 3、建立工程本地存储的任何一个目录都可以建立GIT工程,如果已有工程位于 /home/obugs/projects/orangebugs 目录,就可以把这目录定义为GIT工程$ cd /home/obugs/projects/orangebugs $ git init Initialized empty Git repository in /home/obugs/projects/orangebugs/.git/ 这样就建立了一个名为 .git 的文件夹,这就是GIT用来存储信息和跟踪改动的文件夹。 $ ls -altr .git total 40 drwxrwxr-x 4 git git 4096 Aug 13 22:39 refs drwxrwxr-x 4 git git 4096 Aug 13 22:39 objects drwxrwxr-x 2 git git 4096 Aug 13 22:39 info drwxrwxr-x 2 git git 4096 Aug 13 22:39 hooks -rw-rw-r -- 1 git git 23 Aug 13 22:39 HEAD -rw-rw-r -- 1 git git 73 Aug 13 22:39 description -rw-rw-r -- 1 git git 92 Aug 13 22:39 config drwxrwxr-x 2 git git 4096 Aug 13 22:39 branches drwxrwxr-x 36 git git 4096 Aug 13 22:39 .. drwxrwxr-x 7 git git 4096 Aug 13 22:39 . 4、向工程添加和提交文件这些动作和CVS、SVN等操作类似$ git add *.java *.c $ git commit -m ‘Initial upload of the project’ create mode 100755 Orangebugs.java create mode 100755 pwm/ui/DataManager.java create mode 100755 pwm/ui/PasswordFrame.java create mode 100755 pwm/tools/StrongEncryption.java create mode 100755 pwm/tools/PasswordStrength.java 注意如果之前没有使用 git config 指定用户名和电子邮件地址,这里会报错 $ git commit -m ‘Initial upload of the project' *** Please tell me who you are. Run git config --global user.email “you@example.com” git config --global user.name “Your Name” to set your account’s default identity. Omit --global to set the identity only in this repository. fatal: empty ident not allowed 5、更改文件和提交改动编辑文件、添加或者删除了一些字段$ vi Orangebugs.java 查看和GIT仓库中的文件相比有了那些改动 $ git diff diff --git a/Orangebugs.java b/Orangebugs.java index 6166ed1..fd82d32 100644 — a/Orangebugs.java +++ b/Orangebugs.java @@ -2,7 +2,7 @@ - public counter=10 + public counter=55 如果要提交,需要先确保将文件添加到了临时区域(staging area)然后才能提交,提交时会自动打开系统的默认编辑器,用户添加一些注释后保存并退出编辑器的时候,这些注释就同时提交到仓库中去了 $ git add Orangebugs.java $ git commit [master 80f10a9] Added password strength meter functionality 1 files changed, 56 insertions(+), 7 deletions(-) 或者,简单一点的方法是使用 git commit -a 把上面两个命令合二为一。 6、查看状态和查看注释如果本地的文件和远端GIT仓库上的文件相比没有任何改动,则$ git status # On branch master nothing to commit (working directory clean) 如果本地做了改动但是没有提交,则 $ git status # On branch master # Changes not staged for commit: # (use “git add …” to update what will be committed) # (use “git checkout — …” to discard changes in working directory) # # modified: Orangebugs.java # no changes added to commit (use "git add" and/or "git commit -a") 另外,可以用下面的命令查看文件历史和以往的注释 $ git log Orangebugs.java commit c919ced7f42f4bc06d563c1a1eaa107f2b2420d5 Author: GIT Admin Date: Sat Aug 13 22:54:57 2011 -0700 Added password strength meter functionality commit c141b7bdbff429de35e36bafb2e43edc655e9957 Author: GIT Admin Date: Sat Aug 13 20:08:02 2011 -0700 Initial upload of the project 转载请保留固定链接: https://linuxeye.com/configuration/725.html |