• GIT在Linux上的安装和使用简介


    GIT在Linux上的安装和使用简介
    
    解压后切换到其目录
    $ 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
     
    再验证一下配置信息
      www.2cto.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用来存储信息和跟踪改动的文件夹。
      www.2cto.com  
    $ 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.
      www.2cto.com  
    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)然后才能提交,提交时会自动打开系统的默认编辑器,用户添加一些注释后保存并退出编辑器的时候,这些注释就同时提交到仓库中去了
      www.2cto.com  
    $ 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  www.2cto.com  
    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
  • 相关阅读:
    13-02 Java 数组高级算法,Arrays类
    从0移植uboot (二) _uboot启动流程分析
    Linux input子系统编程、分析与模板
    跟着内核学框架-从misc子系统到3+2+1设备识别驱动框架
    Linux驱动技术(八) _并发控制技术
    Linux驱动技术(七) _内核定时器与延迟工作
    Linux驱动技术(六) _内核中断
    Linux驱动技术(五) _设备阻塞/非阻塞读写
    Linux驱动技术(四) _异步通知技术
    Linux驱动技术(三) _DMA编程
  • 原文地址:https://www.cnblogs.com/CHEUNGKAMING/p/4359375.html
Copyright © 2020-2023  润新知