2009-08-21 20:10
Git是什么
Git 在Wikipedia上的定义:它是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。Git最初被Linus Torvalds开发出来用于管理Linux内核的开发。每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖 于网络和中心服务器。
Git的出现减轻了许多开发者和开源项目对于管理分支代码的压力,由于对分支的良好控制,更鼓励开发者对自己感兴趣 的项目做出贡献。其实许多开源项目包括Linux kernel, Samba, X.org Server, Ruby on Rails,都已经过渡到使用Git作为自己的版本控制工具。对于我们这些喜欢写代码的开发者嘛,有两点最大的好处,我们可以在任何地点(在上班的地铁 上)提交自己的代码和查看代码版本;我们可以开许许多多个分支来实践我们的想法,而合并这些分支的开销几乎可以忽略不计。
Git通常有两种方式来进行初始化:
git clone: 这是较为简单的一种初始化方式,当你已经有一个远程的Git版本库,只需要在本地克隆一份,例如'git clone git://github.com/someone/some_project.git some_project'命令就是将'git://github.com/someone/some_project.git'这个URL地址的远程版 本库完全克隆到本地some_project目录下面
git init和git remote:这种方式稍微复杂一些,当你本地创建了一个工作目录,你可以进入这个目录,使用'git init'命令进行初始化,Git以后就会对该目录下的文件进行版本控制,这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建一个目录,并把 可访问的URL记录下来,此时你就可以利用'git remote add'命令来增加一个远程服务器端,例如'git remote add origin git://github.com/someone/another_project.git'这条命令就会增加URL地址为'git: //github.com/someone/another_project.git',名称为origin的远程服务器,以后提交代码的时候只需要使用 origin别名即可
现在我们有了本地和远程的版本库,让我们来试着用用Git的基本命令吧:
git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:'git pull origin master'就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的update
git add:是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如'git add app/model/user.rb'就会增加app/model/user.rb文件到Git的索引中
git rm:从当前的工作空间中和索引中删除文件,例如'git rm app/model/user.rb'
git commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如'git commit -m "story #3, add user model"',提交的时候必须用-m来输入一条提交信息
git push:将本地commit的代码更新到远程版本库中,例如'git push origin'就会将本地的代码更新到名为orgin的远程版本库中
git log:查看历史日志
git revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如'git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20',Git的版本号都是生成的一个哈希值
上面的命令几乎都是每个版本控制工具所公有的,下面就开始尝试一下Git独有的一些命令:
git branch:对分支的增、删、查等操作,例如'git branch new_branch'会从当前的工作版本创建一个叫做new_branch的新分支,'git branch -D new_branch'就会强制删除叫做new_branch的分支,'git branch'就会列出本地所有的分支
git checkout:Git的checkout有两个作用,其一是在不同的branch之间进行切换,例如'git checkout new_branch'就会切换到new_branch的分支上去;另一个功能是还原代码的作用,例如'git checkout app/model/user.rb'就会将user.rb文件从上一个已提交的版本中更新回来,未提交的内容全部会回滚。
分享到:
相关推荐
本资源转载自网络,供学习研究之用,如用于商业用途,请购买正版,如有侵权,请联系我或CSDN删除。
- **远程仓库操作**: 与GitHub这样的在线代码托管平台配合使用时,可以使用`git clone`克隆远程仓库,`git push`推送本地更改到远程仓库,`git pull`拉取远程更改到本地仓库。 - **冲突解决**: 当多人协作时,可能会...
1. **初始化Git仓库**:如何在本地目录下创建一个新的Git仓库,使用`git init`命令。 2. **克隆仓库**:如果你从远程仓库克隆(`git clone`),你将学会如何获取并创建一个本地副本。 3. **添加文件**:使用`git ...
git 命令: git clone https://github.com/bluetiger9/SmtpClient-for-Qt.git git clone https://github.com/bluetiger9/SmtpClient-for-Qt.wiki.git git clone git://github.com/schacon/grit.git git clone ...
在Windows 8上使用SSH命令,首先需要开启虚拟机以及Git Bash窗口。Git Bash是一个命令行工具,它可以让我们在Windows环境中运行类Unix的命令,包括SSH。开启虚拟机后,我们可以输入`ifconfig -a`命令来查看虚拟机的...
下载:git clone 编译:colcon build 使用:ros2 run 导入编译的环境 Import the compiled environment: source install/setup.bash 输入ros2 run turtlesim,可以看到如下节点 Enter ros2 run turtlesim, you ...
使用手册强调,本手册的版权属于深圳市美睿视讯技术有限公司,并且在未获得书面同意的情况下,任何单位及个人不得擅自摘录或转载。开发者可以通过官网或论坛寻求技术支持。 开发者在使用A20蜂鸟开发系统时,务必...
3. 使用Git命令克隆需要的工具源码。例如,使用命令 `git clone ***` 来克隆***/x/tools。 4. 克隆完成后,在GOPATH的src目录下,你会看到tools文件夹,里面包含了所有需要的源码。 5. 接着进入GOPATH目录,并使用...
可以通过下载官方的Linux包,例如node-v9.9.0-linux-x64.tar.gz,然后使用FTP(如FileZilla)上传到服务器,或者直接通过wget命令在线下载。下载后,通过tar命令解压安装包,并将解压后的目录移动到合适的位置,比如...
面向小白,从0开始学习Github,包括入门、速成、进阶。语言通俗易懂,教程向,一步一步带你实践。原作者StormZhang,可转载分享,不可商用。
大家有兴趣可以随意下载,但转载或另做它用前请与我联系哦,我会同意你免费使用,但我享有知情权 与我联系邮箱1198373615@qq.com ,或添加QQ:1198373615与我联系 代码获取及环境安装 首先来安装Git 从上面的地址...
作者金步国是一位自由软件爱好者,遵循GPL协议发布本文档,鼓励大家自由使用、转载和分发,但需保留原文档的完整性和作者信息。 #### 二、代码成熟度选项(Code Maturity Level Options) 这部分选项主要涉及内核中...