git 使用入门

时间:2021-08-22 13:21:00

参考教程: 廖雪峰的官方网站

MY UBUNTU

安装:

sudo apt-get install git

GIT 理解

  选定的目录为git的工作区。该目录下的任何改动,git都会记录为工作区的修改,而不会提交至版本库(需add和commit操作)。

  提交至git的文件必须在该工作目录或者其子目录。

  git版本库包括stage(暂存区)和master(git默认创建的一个分支)。

  文件"add"操作只是将文件添加到git的暂存区,经"commit" 才将文件的更改提交至master。

关于文件版本:

  每个文件都有一个指针(HEAD)指向当前版本,当需要修改版本时,只需更改指针即可。(也就是版本id)

创建仓库:

  查看当前目录:pwd

  创建git仓库: git init     //  将当前目录加入到git仓库中

添加和更新文件:

  git add <文件名>

  git commit -m <"操作描述">   // -a  将文件版本添加并更新至git

删除文件:

  git rm <文件名>

  git commit -m <"操作描述">

查看工作区状态:

  git status

查看修改的内容:

  git diff <文件名>

查看提交历史:

  git log [--pretty = online]   // 查看最近更改的日志

查看命令历史:

  git reflog

选择历史版本:

  git reset --hard HEAD^   // 回到上一个版本   HEAD~10 回到上10个版本

回到最新版本:

  git reset --hard <最新版本id>    // id 是 一个hash数,只需输入前几个数,git会自动寻找相应的版本

                  // 若id在历史版本中查看不到,则查看历史命令,其中记录了每次操作的文件版本id

撤销工作区的修改:

  git checkout -- <文件名>    //  将工作区的文件更新为版本库里的最新版本(也可用于恢复文件至工作区)

撤销暂存区的修改:

  git reset HEAD <文件名>    // 将修改撤销到工作区

创建远程库:

  git remote add origin git@github.com:April53/python.git

推送本地库到远程库:

  git push -u origin master        // 本地分支master  远程库默认名 origin

                  // 由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的

  git push origin master     //master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

从远程库克隆到本地:

  git clone git@github.com:April53/python.git

分支操作:

  查看分支:git branch

  创建分支:git branch <name>

  切换分支:git checkout <name>

  创建+切换分支:git checkout -b <name>

  合并某分支到当前分支:git merge [--no-ff] <name>   // --no--ff 记录合并历史

  删除分支:git branch -d <name>

bug分支:

  git stash     // 存储工作分支状态