赞
踩
Git是一个版本控制系统,用于跟踪文件随时间变化状态的一款软件。更具体的说,git是一个分布式的版本控制系统,在git中参与项目的每程序员不仅能拥有文件的当前状态,还能拥有项目的完整历史记录。
git有很多优点,独自一个人工作时:
与一个团队合作时:
git使用方法
安装以及配置用户名和邮箱
创建版本库
将文件提交版本库中
版本回退
git和github远程连接
添加远程仓库
克隆远程仓库
git init
命令,就可以把这个目录变为可以管理的仓库。此时hello目录下会有一个.git目录,这里面存放的就是文件各版本记录。 将文件添加到版本库中
首先要明确,版本控制系统只能跟踪文本文件(txt,网页,代码等)的改动,对于视频、音乐、图片是没办法跟踪文件变化的。在仓库目录hello下,新建read.txt文件,里面内容初始为one。使用git add filename
命令把文件存添加到缓冲区内,执行后没有任何提示就说明添加成功了。然后执行git commit
命令,把文件提交到仓库。还可以为该次提交写注释,标明自己都做了哪些修改,命令为git commit -m 注释
。也可以在提交的时候在vim里写注释,我的注释是this is the first message.
小总结:将文件添加到版本库中主要是两个命令组合使用:git add和git commit
,git add负责将文件添加进缓冲区,git commit负责将文件从缓冲区提交至版本库。缓冲区是.git目录中(版本库)比较重要的组成部分,用来暂存文件修改。
将文件添加到版本库中常用命令。
git status 命令:
用来查看是否还有文件未提交
通过上文可以知道,文件提交(添加到版本库)需要两步,添加进缓冲区和提交至版本库。那么我们来分别看看当文件处于不同状态时,git status命令的不同。
对文件read.txt做修改,在原来基础上添加一行two。先不要执行git add命令添加进缓冲区,执行git status:
然后执行git add命令,文件放进缓冲区后,还未提交时,用git status命令查看文件提交情况。
可以明显看出,两者情况有何不同。 红字表示已经修改,但未进缓冲区,绿色表示已经修改,也已经放进缓冲区,但还未提交至版本库。平时大家使用git时,在确定无误后,可以添加完后可以直接提交。
当把文件从缓冲区提交到版本库后,使用git status查看。
git diff filename命令
该命令只在文件修改后,但还未add或commit之前有效,用来记录文件做了哪些修改。一旦add或commit后,该命令就没反应了。我们对read.txt文件执行如下删除one-添加one-添加two操作后,先不要add,用git diff命令查看做了哪些修改。当确定无误后,在add和commit。
git log命令
这个命令和git diff恰好相反,是只对提交后的文件有记录。不管之前你修改过多少次,只要没提交(commit)过,即使add过,git log也不会记录的。
git reset
命令。HEAD^就是指回退到上一个版本的指针。如果回退到上上个版本,命令是HEAD^^,如果回退到10各版本之前,命令是HEAD~100。 git reset --hard 版本号
。通过git reflog
命令查看所有提交文件的版本号。我们发现two版本注释为second,其对应版本号为9365bcc,然后执行git reset –hard 9365bcc就可以回到刚才的版本了。用cat命令查看内容,发现有two了。 git和github建立远程连接
这块是和github结合使用,将本地git仓库和github仓库之间进行文件传输。首先应该注册github账号,应该和本地的用户名和邮箱一致。然后由于git和github间的传输是通过SSH加密的,故需要产生密钥,一个放在本地git仓库(私钥),一个放在github仓库(公钥)。
首先在本地git仓库目录下,执行ssh-keygen -t rsa -C “邮箱@163.com”命令,会产生公钥和私钥密钥对,然后选择保存密钥对的目录,系统会默认给个目录,我选择了放在C/shuai/hello/.ssh下,注意的一点就是必须要有.ssh这个文件,这里是放私钥的,然后在该目录下会同时产生一个公钥。然后要输入git和github进行文件传输的密码,可设可不设。成功后,会给出私钥.ssh和公钥.ssh.pub的目录位置,私钥是自己留着的,放在本地git仓库中,公钥是可以公开的,给github。两者进行通信时,git用私钥给文件加密,github收到后,用公钥解密;反之,github用公钥给文件加密,git收到后用私钥解密。
然后打开github,按照图示,先打开本地公钥文件.ssh.pub(可用notepad++打开),copy到github的Key中,点击add SSH key,就表示github以成功拥有了公钥,和git可以远程通信了。
添加远程仓库
目前情景是,已经在本地创建了一个git仓库,又想在github上创建一个同样git仓库,并且希望这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。首先在github上创建hello.git的仓库,然后在本地git仓库目录下,执行:git remote add origin https://github.xom/Miaoshuai0677/hello.git
,然后输入git push -u origin master
命令,如果你设过本地git和github通信的密码,此时会要求你输入用户名和密码:
push成功后,github上会有新的文件。
git clone 地址
的命令。成功后,会发现本地仓库中有了新的项目名字。 Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。