zoukankan      html  css  js  c++  java
  • git 简单操作

    Git 的初始化

    使用 Git 的第一件事就是设置你的名字和 email,这些就是你在提交 commit 时的签名,每次提交记录里都会包含这些信息。使用 git config 命令进行配置:

    $git config --global user.name "名称"

    $git config --global user.email "邮箱"

    git config --list

    执行了上面的命令后,会在家目录下建立一个叫 .gitconfig 的文件(该文件为隐藏文件,需要使用 ls -al 查看到). 内容一般像下面这样,可以使用 vim 或 cat 查看文件内容:

    $ cat ~/.gitconfig

    [user]

            email = 邮箱

            name = 名称

    Clone一个仓库

    打开本地目录

    $ cd /home/***/

    克隆git仓库

    $ git clone https://github.com/***/gitproject

    克隆完查看本地仓库

    $ cd gitproject/

    (master)$ ls

    README.md

    初始化一个新的仓库

    可以对一个已存在的文件夹用下面的命令让它置于 Git 的版本控制管理之下。

    创建代码目录 project:

    $ cd /home/***/

    $ mkdir project

    进入到代码目录,创建并初始化Git仓库:

    $ cd project

    $ git init

    Git 会输出:

    Initialized empty Git repository in /home/***/project.git/

    通过 ls -la 命令会发现project目录下会有一个名叫 .git 的目录被创建,这意味着一个仓库被初始化了。可以进入到 .git 目录查看下有哪些内容。

    Git 的基本流程如下:

    1、创建或修改文件

    2、使用 git add 命令添加新创建或修改的文件到本地的缓存区(Index)

    3、使用 git commit 命令提交到本地代码库

    4、(可选,有的时候并没有可以git同步的远端代码库)使用git push命令将本地代码库同步到远端代码库

     

    进入我们刚才建立的 project 目录,分别创建文件 file1,file2,file3:

    $ cd /home/***/project

    $ touch test

    修改文件,可以使用 vim 编辑内容,也可以直接 echo 添加测试内容。

    $ echo "test" >> test

    此时可以使用 git status 命令查看当前 Git 仓库的状态:

    $ git status

    On branch master

    Initial commit

    Untracked files:

       (use "git add <file>...") to include in what will be committed)

       test

    nothing added to commit but untracked files present (use "git add" to track)

    可以发现,有三个文件处于 untracked 状态,下一步我们就需要用 git add 命令将他们加入到缓存区(Index)。

    使用 git add 命令将新建的文件添加到缓存区:

    $ git add test

    $ git status

    On branch master

    Initial commit

    Changes to be committed:

        (use "git rm --cached <file>..." to unstage)

      new test:test

    你现在为 commit 做好了准备,你可以使用 git diff 命令再加上 --cached 参数,看看缓存区中哪些文件被修改了。进入到 git diff --cached 界面后需要输入 q 才可以退出:

    $ git diff --cached

    如果没有--cached参数,git diff 会显示当前你所有已做的但没有加入到缓存区里的修改。

    如果你要做进一步的修改, 那就继续做, 做完后就把新修改的文件加入到缓存区中。

    使用 git commit 提交到本地仓库:

    $ git commit -m "add 3 files"

    需要使用 -m 添加本次修改的注释,完成后就会记录一个新的项目版本。除了用 git add 命令,我们还可以用下面的 -a 参数将所有没有加到缓存区的修改也一起提交,但 -a 命令不会添加新建的文件。

    $ git commit -m "add 3 files"

    再次输入 git status 查看状态,会发现当前的代码库已经没有待提交的文件了,缓存区已经被清空。

    我们当前的仓库是使用 git init 初始化的本地仓库,所以我们需要将本地仓库与远程仓库关联,使用如下命令(需要修改下面的远程仓库地址为自己的仓库地址):

    $ git remote add origin https://********

    对于上述命令而言,git remote add 命令用于添加远程主机,origin 是主机名,此处我们可以自定义,不一定非要使用 origin,而 https://github.com/****/***.git,是我自己的远程仓库,此处 需要替换为自己的远程仓库地址

    # 需要输入仓库对应的用户名和密码

      如果密码账号或密码输入错误执行下面命令即可重新输入账号密码

      git config --system --unset credential.helper

    $ git push origin master

    一、基本操作
    账号配置
    git config --global user.name '***'
    git config --global user.email "*****"

    git init 
    git init    //使用当前目录作为Git仓库,我们只需使它初始化
    git init newrepo //使用我们指定目录作为Git仓库
    git remote add origin https://*******
    touch test.php
    git add .
    git push origin master


    git clone
    git clone <repo> //从现有 Git 仓库中拷贝项目到当前目录
    git clone <repo> <directory>  //从现有 Git 仓库中拷贝项目到指定目录

    git pull 
    git pull <远程主机名> <远程分支名>:<本地分支名>
    //取回远程主机某个分支的更新,再与本地的指定分支合并


    git add
    git add <file> 将该文件添加到缓存
    git add . 将所有文件添加到缓存

    git commit
    将缓存区内容添加到仓库中
    git commit -m "说明"

    git status
    查看在你上次提交之后是否有修改和分支信息

    二、分支管理
    git branch
    git branch (branchname) 创建分支
    git branch 查看分支信息
    git branch -d (branchname) //删除分支

    git checkout
    git checkout (branchname) 切换分支

    git checkout -- file //会用暂存区全部或指定的文件替换工作区的文件

    git checkout -b (branchname) 创建并切换分支

    git merge branch1 . 合并分支

    git log  //git log 命令列出历史提交记录
    git log --oneline 查看历史记录的简洁的版本 

    Git 远程仓库(Github)

    git remote add [shortname] [url] //添加远程库

    git remote //查看当前配置有哪些远程仓库
    git remote -v

    git fetch //相当于是从远程获取最新版本到本地,不会自动合并

    git merge origin/master

    git push [alias] [branch] //推送新分支与数据到某个远端仓库

    git remote rm [别名] //删除远程仓库

    git remote rm origin2


    git reset HEAD //取消已缓存的内容

    git reset -–hard commitid
  • 相关阅读:
    Java并发组件三之Semaphore
    Java并发组件二之CyclicBarriar
    Java并发组件一之CountDownLatch
    高并发多线程二
    多线程与高并发需要体会记住的点
    Maven 知识点总结以及解决jar报冲突的几种方法
    JAVA SSM整合流程以及注意点
    SpringMVC Tomcat 启动时报错:java.lang.IllegalStateException: Error starting child
    java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter
    javax.servlet.ServletException: No adapter for handler
  • 原文地址:https://www.cnblogs.com/dream98/p/11054472.html
Copyright © 2011-2022 走看看