美文网首页
git安装和使用

git安装和使用

作者: 蓝天的歌者 | 来源:发表于2017-09-19 11:59 被阅读0次

    git的安装

    在Linux上安装Git

    Debian/Ubuntu Git 安装命令为:

    $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
      libz-dev libssl-dev
    
    $ apt-get install git-core
    
    $ git --version
    git version 1.8.1.2
    

    如果你使用的系统是 Centos/RedHat 安装命令为:

    $ yum install curl-devel expat-devel gettext-devel \
      openssl-devel zlib-devel
    
    $ yum -y install git-core
    
    $ git --version
    git version 1.7.1
    

    Windows 平台上安装git

    在 Windows 平台上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe 安装文件并运行:
    安装包下载地址:http://msysgit.github.io/

    在Mac OS X上安装Git

    一是安装homebrew,然后通过homebrew安装Git,具体方法请参考homebrew的文档:http://brew.sh/

    第二种方法更简单,也是推荐的方法,就是直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了。


    安装完成后,还需要最后一步设置,在命令行输入:

    $ git config --global user.name "Your Name"
    $ git config --global user.email "email@example.com"
    

    注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

    查看配置信息

    $ git config --list
    

    创建版本库

    1. 创建一个版本库非常简单,选择一个合适的地方,创建一个空目录:

       $ mkdir learngit
       $ cd learngit
       $ pwd
       /Users/michael/learngit
      

      如果你使用windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

    2. 通过git init命令把这个目录变成Git可以管理的仓库:

       $ git init
       Initialized empty Git repository in /Users/michael/learngit/.git/   
      

      瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),细心的读者可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

    版本提交

    git status命令可以让我们时刻掌握仓库当前的状态

    git diff这个命令查看对文件修改了什么

    提交修改和提交新文件是一样的两步

    第一步是git add

    //readme.txt为你提交的文件
    $ git add readme.txt
    

    第二步git commit

    //引号内为提交说明
    $ git commit -m "add distributed"
    

    版本回退

    git log命令显示从最近到最远的提交日志

    如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数

    在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^ 当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。

    $ git reset --hard HEAD^
    HEAD is now at ea34578 add distributed
    

    跳到特定版本

    $ git reset --hard 3628164
    HEAD is now at 3628164 append GPL
    

    就必须找到append GPL的commit id。Git提供了一个命令git reflog用来记录你的每一次命令:

    $ git reflog
    ea34578 HEAD@{0}: reset: moving to HEAD^
    3628164 HEAD@{1}: commit: append GPL
    ea34578 HEAD@{2}: commit: add distributed
    cb926e7 HEAD@{3}: commit (initial): wrote a readme file
    

    命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

    一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

    一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

    删除操作

    用命令git rm删掉,并且git commit:

    $ git rm test.txt
    rm 'test.txt'
    $ git commit -m "remove test.txt"
    [master d17efd8] remove test.txt
     1 file changed, 1 deletion(-)
     delete mode 100644 test.txt
    

    远程仓库

    由于你的本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以,需要一点设置:

    第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有 没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

    $ ssh-keygen -t rsa -C "youremail@example.com"
    

    你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

    第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

    然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容

    把一个已有的本地仓库与远程仓库关联

    $ git remote add origin git@github.com:michaelliao/learngit.git
    

    把上面的michaelliao替换成你自己的GitHub账户名

    可以把本地库的所有内容推送到远程库上:

    $ git push -u origin master
    Counting objects: 19, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (19/19), done.
    Writing objects: 100% (19/19), 13.73 KiB, done.
    Total 23 (delta 6), reused 0 (delta 0)
    To git@github.com:michaelliao/learngit.git
     * [new branch]      master -> master
    Branch master set up to track remote branch master from origin.
    

    小结

    要关联一个远程库,使用命令

    git remote add origin git@server-name:path/repo-name.git;
    

    关联后,使用命令

    git push -u origin master
    

    第一次推送master分支的所有内容;此后,每次本地提交后,只要有必要,就可以使用命令

    git push origin master
    

    克隆远程仓库

    $ git clone git@github.com:michaelliao/gitskills.git
    Cloning into 'gitskills'...
    remote: Counting objects: 3, done.
    remote: Total 3 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (3/3), done.
    
    $ cd gitskills
    $ ls
    README.md

    相关文章

      网友评论

          本文标题:git安装和使用

          本文链接:https://www.haomeiwen.com/subject/osswsxtx.html