zoukankan      html  css  js  c++  java
  • git

    常用命令

    git init

    可以初始化一个本地的 git 仓库,将创建一个 .git 隐藏文件夹,存储本地多次提交的历史信息。

    git clone

    git clone [url] :GitHub 上每一个项目都有一个 url,使用这个命令可以从远程克隆一个仓库。

    git clone 也可以从本地一个目录克隆到另一个目录:

    • 创建 test 文件夹,并使用 git init 命令
    • 使用 git clone test test2 命令克隆本地仓库,报出 warning 称克隆了一个空的文件夹
    $ mkdir test
    $ cd test
    $ git init
    $ git clone test test2
    Cloning into 'test2'...
    warning: You appear to have cloned an empty repository.
    done.
    

    git add

    git add . 将添加所有文件到暂存区,git add [filename] 将添加某个文件到暂存区。

    $ touch a
    $ touch b
    $ git add .
    $ git reset HEAD b
    

    创建了文件 a 和文件 b,添加两份文件进入暂存区,但是想撤销添加文件 b,可以使用撤销添加的命令:git reset HEAD [filename] ,此时暂存区就只添加了文件 a。git 给了很充分的提示:

    $ 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:   a
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
    
            b
    

    git status

    在上面的 add 操作中,使用了 git status 查看当前文件的状态,其实可以使用 git status -s 命令得到更加简短的输出:

    $ touch a.txt
    $ git status -s
    ?? a.txt # ?? 表示文件还没有添加进入暂存区
    
    $ git add a.txt
    $ git status -s
    A  a.txt # A 表示文件已经添加进入暂存区
    
    $ vim a.txt
    $ git status -s
    AM a.txt # AM 表示文件添加进入暂存区后又进行了修改
    

    git commit

    git commit -m "message" :提交暂存区的文件到本地仓库

    git commit --amend:修改当前提交的 commit,会形成另一个 commit

    git reset origin/master --hard:可以恢复到原来的 commit

    git log

    git log 可以查看 commit 的所有记录

    git log --oneline 则以一行的形式简短展示每次 commit

    git log --graph 则是以图的形式展示了分支的拓扑图

        file
          ↓   git add 
    ————————————
    |  暂存区   |
    ————————————
          ↓   git commit
    ————————————
    |   仓库    |
    ————————————
          ↓   git push
    ————————————
    |  远程仓库  |
    ————————————
    

    git remote

    git remote 命令查看当前本地仓库连接了哪些远程仓库

    git remote -v 则显示更为详细的信息

    git push

    git push 是将本地仓库和远程仓库连接的重要命令,以 GitHub 的连接为例,需要先在 GitHub 上创建一个空的远程仓库,接下来会提示你如何连接:

    # 本地没有仓库时需要做的
    echo "# test" >> README.md
    git init
    git add README.md
    git commit -m "first commit"
    git remote add origin git@github.com:ChenBin113/test.git
    git push -u origin master
    
    # 本地有仓库需要做的
    git remote add origin git@github.com:ChenBin113/test.git
    git push -u origin master
    

    主要是第一次连接需要添加远程仓库的地址,以后只需要在 commit 命令后使用 git push 命令即可。

    网络不稳定,偶尔会出现 push 不成功的现象,隔一段时间重新 push 即可;或者在项目目录下有隐藏文件夹 .git,进入其中修改 config 文件,使用命令为 vim .git/config

    将其 url = git@github.com:ChenBin113/test.git 修改为 url = https://github.com/ChenBin113/test,即可使用 https 协议进行 push。

    git reset

    git reset [id] 可以回退未 push 的版本;窗口没有关闭时,仍能撤销回退,只要记得版本 id 号就行

    git reset origin/master --hard 可以回退到 origin/master 版本

  • 相关阅读:
    supervisor管理airflow
    airflow迁移
    flume部署
    canal原理&部署
    EMR日常操作
    linux的route
    autossh
    Velocity(5)——#macro 指令
    Git(1)----Eclipse安装Git插件
    Velocity(4)——引入指令和#Parse 指令
  • 原文地址:https://www.cnblogs.com/chenxianbin/p/11967939.html
Copyright © 2011-2022 走看看