zoukankan      html  css  js  c++  java
  • git常用命令

    开始的时候

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

    查看你的信息

    1 git config --list

    克隆仓库

    1 git clone  [url]

    版本库

    1 mkdir learngit
    2 cd learngit
    3 pwd
    4 /Users/michael/learngit
    5 初始化:
    6 git init

    文件添加到版本库

    1 #创建文件
    2 vim   readme.txt
    3 cat  readme.txt
    4 Git is a version control system.
    5 Git is free software.
    6 #文件添加到仓库
    7 git  add  readme.txt
    8 #把文件提交到仓库
    9 git commit -m "wrote a readme file"

    跳过使用暂存区(不适用git  add) 

    1 git   commit -a -m  "说明的文字"
    2 
    3 
    4 只需要加个-a选项

    查看状态

    git  status  #查看状态
    git  diff  readme.txt   #比较文件上次修改的东西,,比较当前工作目录中的文件和暂存区域快照之间的差异,只是显示尚未暂存的改动
    git diff --cached #已经暂存的将要添加到下次提交里的内容
     1 1 git  status
     2  2 [root@pup learngit]# git status
     3  3 # On branch master
     4  4 nothing to commit (working directory clean)
     5  5 修改文件后在查看
     6  6 [root@pup learngit]# vim readme.txt 
     7  7 [root@pup learngit]# git status
     8  8 # On branch master
     9  9 # Changed but not updated:
    10 10 #   (use "git add <file>..." to update what will be committed)
    11 11 #   (use "git checkout -- <file>..." to discard changes in working directory)
    12 12 #
    13 13 #    modified:   readme.txt
    14 14 #
    15 15 # Untracked files:
    16 16 #   (use "git add <file>..." to include in what will be committed)
    17 17 #
    18 18 #    .readme.txt.swp
    19 19 no changes added to commit (use "git add" and/or "git commit -a")
    20 [root@pup learngit]# git diff readme.txt 
    21 diff --git a/readme.txt b/readme.txt
    22 index 4dfbf00..a6cb86a 100644
    23 --- a/readme.txt
    24 +++ b/readme.txt
    25 @@ -1,3 +1,3 @@
    26  Git is a distributed version control system.
    27  Git is free software distributed under the GPL
    28 -111111111111111111111111111111111111111111111
    29 +222222222222222222222222222222222222222
    View Code

     移除文件(从暂存区中移除)

    git   rm   文件   #会连带从工作目录中删除指定的文件
    git  rm   -f   文件   #删除之前修改过并且已经放到暂存区域的文件,不可恢复
    git rm --cached   文件    #从暂存区域移除但是文件依然保留在当前工作目录中

    移动文件(给文件改名字)

    git mv README.md README
    相当于
    $ mv README.md README
    $ git rm README.md
    $ git add README

    版本回退

    1 git  log  #命令显示从最近到最远的提交日志
    2 git log  --pretty=oneline   #简洁的显示
    git log -p -2 #-p 每次提交的内容差异,-2最近两次提交
    3 在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,一般写成HEAD~100 4 git reset --hard HEAD^ #回退到上一个版本 5 git reflog查看命令历史,以便确定要回到未来的哪个版本 6 回退: 7 git reset --hard commit_id 8 回到未来 9 git reset --hard commit_id

    定制要显示的记录格式

    git log --pretty=format   格式
    
    例如:
    
    git log --pretty=format:"%h - %an, %ar : %s"

    工作区和暂存区概念理解

    1 git add命令实际上就是把要提交的所有修改放到暂存区(Stage),然后,执行git commit就可以一次性把暂存区的所有修改提交到分支。
    2 前面讲了我们把文件往Git版本库里添加的时候,是分两步执行的:
    3 
    4 第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
    5 
    6 第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
    7 从来没被添加过的文件状态是Untracked

    具体过程如下:

    刚开始:参考这里

    文件修改提交

    最后

     撤销修改

    1,当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时 

    1 git checkout -- file
    2 git checkout -- readme.txt

    2当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,返回到以前的工作区的内容

    git reset HEAD  文件   #从暂存区返回到工作区

     3提交了(commit)了但是可能漏了几个文件没有(add)添加或者提交信息写错了,这是运行

    git commit --amend     #尝试重新提交

    eg

    $ git commit -m 'initial commit'
    $ git add forgotten_file
    $ git commit --amend
    最终你只会有一个提交 - 第二次提交将代替第一次提交的结果。
    
    
  • 相关阅读:
    【Java多线程系列四】控制线程执行顺序
    【Java多线程系列随笔二】BlockingQueue
    【Java多线程系列三】实现线程同步的方法
    【Java多线程系列随笔一】浅析 Java Thread.join()
    【Java多线程系列二】Thread类的方法
    【Java多线程系列一】Java实现线程方法
    如何优雅的使用和理解线程池
    spring 中 isolation 和 propagation 详解
    嵊州普及Day6T1
    嵊州普及Day5T4
  • 原文地址:https://www.cnblogs.com/Dicky-Zhang/p/6250644.html
Copyright © 2011-2022 走看看