美文网首页
Git的简单使用

Git的简单使用

作者: 扣肉快快跑 | 来源:发表于2019-06-10 17:21 被阅读0次
    • git 状态、名词

    git有三种状态和三个工作区域:
    1. 已提交(committed):
      已提交表示数据已经安全的保存在本地数据库中
    2. 已修改(modified):
      已修改表示修改了文件,但还没保存到数据库中。
    3. 已暂存(staged):
      已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
    4. Git 仓库:
      Git 仓库是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
    5. 工作目录:
      工作目录是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
    6. 暂存区域:
      暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作`‘索引’',不过一般说法还是叫暂存区域。
    基本的 Git 工作流程如下:
    1. 在工作目录中修改文件。
    2. 暂存文件,将文件的快照放入暂存区域。
    3. 提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。

    repository:仓库
    track:跟踪
    stage:暂存
    commit:提交

    • git init

    在现有目录中初始化仓库
    该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。

    如果你是在一个已经存在文件的文件夹(而不是空文件夹)中初始化 Git 仓库来进行版本控制的话,你应该开始跟踪这些文件并提交。 你可通过 git add 命令来实现对指定文件的跟踪,然后执行 git commit 提交:

    • git add(添加跟踪文件)

    git版本为 1.x中:
    git add .

    把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),不包括被删除的文件

    git add -u

    他仅监控已经被add的文件(即tracked file),即:将(modified)或(deleted)文件提交到暂存区。不包括新文件(untracked file)。(git add --update的缩写)

    git add -A

    是上面两个功能的合集,将(modified)(deleted)(new)文件提交到暂存区(git add --all的缩写)

    git版本为 2.x中:
    add .

    和旧版的add -A功能相同

    add -A

    功能不变

    add --ignore-removal .

    和旧版本add .的功能相同

    • git commit(提交更新)

    git commit -m '提交说明'

    commit:提交

    -m '提交说明'

    • git clone [url]

    克隆一个仓库到现有目录

    默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。(如果服务端文件出问题,可以使用克隆下来的重新上传到服务端。)

    //把服务端仓库克隆到现有目录
    git clone https://gitee.com/n_nhello/TestCode
    //把服务端仓库改名为TempCode后,克隆到现有目录
    git clone https://gitee.com/n_nhello/TestCode TempCode
    
    • git status(查看仓库状态)

    初始状态,使用git status命令的类似提示
    $ git status
    On branch master
    nothing to commit, working directory clean//没啥要提交的内容
    
    创建一个新的 README 文件后,使用git status命令的类似提示
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
        "readme.txt"
    
    nothing added to commit but untracked files present (use "git add" to track)
    
    git add后,使用git status命令的类似提示
    On branch master
    Your branch is up to date with 'origin/master'.
    
    Changes to be committed://需要提交的更改:
      (use "git reset HEAD <file>..." to unstage)
            
        new file:   "readme.txt"// 新文件:"readme.txt"
    
    对文件修改后,使用git status命令的类似提示
    On branch master
    Your branch is up to date with 'origin/master'.
    
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
        new file:   "readme.txt"
        modified:   "readme.txt"// 修改:  "readme.txt"
    
    
    对文件再次修改后,使用git status命令的类似提示
    On branch master
    Your branch is up to date with 'origin/master'.
    
    Changes to be committed:
      (use "git reset HEAD <file>..." to unstage)
    
        new file:   "readme.txt"
    
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
    
        modified:   "readme.txt"// 修改:  "readme.txt"
    
    

    这个时候如果提交的是你最后一次运行 git add 命令时的那个版本,而不是当前版本
    所以,运行了 git add 之后又作了修订的文件,需要重新运行 git add 把最新版本重新暂存起来

    git status -s(状态简览)

    git status命令的输出十分详细,但其用语有些繁琐。如果你使用 git status -s 命令或 git status --short 命令,你将得到一种更为紧凑的格式输出。
    运行 git status -s ,状态报告输出如下:

    $ git status -s
     M README
    MM Rakefile
    A  lib/git.rb
    M  lib/simplegit.rb
    ?? LICENSE.txt
    

    ??:新添加的未跟踪文件
    A:新添加到暂存区中的文件
    M:修改过的文件
    ~M:右边的 M 表示该文件被修改了但是还没放入暂存区
    M~:左边的 M 表示该文件被修改了并放入了暂存区。

    • git rm (移除文件)

    git rm log/*.log
    删除 log/ 目录下扩展名为 .log 的所有文件

    git rm *~
    删除扩展名为~的所有文件

    • git mv(移动文件)

    git mv相当于下方三行代码
    mv README.md README
    git rm README.md
    git add README

    • git version

    查询git版本号(运行结果如下:)

    git version 2.20.1 (Apple Git-117)
    
    • git push(推送到远程仓库)

    • git pull (拉取远程仓库的文件)

    相关文章

      网友评论

          本文标题:Git的简单使用

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