Git 常用命令总结

安装

   输入`git` 或者 `git --version`命令查看 git 是否安装,Ubuntu 系统会很好的提示你有没有安装 git,如果没有安装 git, 可以通过` sudo apt-get install git` 命令进行安装。

创建仓库

   仓库又叫版本库,里面存存储了每个文件的增、删、改等信息,方便用户在某一时刻都能跟踪并进行版本的还原。

首先,我选择在我的Documents 目录下创建一个名为myGit的目录,进入该目录并通过git init命令将该目录变成仓库。仓库创建好之后,我们就需要添加文件到仓库内,创建了一个名为“student.txt”的文件,内容如下所示,并将该文件放到 myGit 目录下。我们只需要两个步骤就可以添加该文件到仓库,第一步通过命令git add <file>讲文件添加到仓库。第二步,通过git commit -m <string_description>命令进行提交。
student.txt

add file

回退版本

提交修改后的文件
    首先对"student.txt"文件进行了修改,修改后的内容如下:


运行git status命令查看仓库的当前状态:
status

我们可以看到“student.txt”文件已经被修改过,但是还没有提交,因此,我们对修改后的"student.txt"文件进行提交,提交还是分两步进行:

git add student.txt
git commit -m "append post-graduate"
   接着我们再次对"student.txt"文件进行了修改,修改内容如下:

对其修改后的文件进行提交:

git add student.txt
git commit -m "append detail major"
查看历史记录
   我们可以通过` git log`命令来查看历史记录:

我们看到有三次提交,最近的一次是"append detail major", 它的commit id 为: "6f6c631a...20dc"。最早的一次为"write student.txt",它的commit id为:"0c439f...a62b "。

版本的回退
   `git reset`命令既可以回退版本,也可以把暂存区的修改回退到工作区。git 中用`HEAD`表示当前版本,上一个版本为`HEAD^`,上上一个版本为`HEAD^^`,依次类推。当`^`数量比较大时,我们可以通过`HEAD~50`这种形式来表示,`HEAD~50`表示当前往上的第50个版本。

下面我们来进行版本的回退,比如说回退到前一个版本,输入如下命令:

git reset --hard HEAD^
   然后我们通过命令`cat student.txt`来查看当前文档的内容

version_2
我们可以看到"student.txt"文档已经回退到第二个版本。
当我们想恢复到最新的版本怎么办呢?我们可以通过commit id进行版本的恢复,通过命令git reflog来查找每个版本的commit id :
可以看到最新版本的commit id 为"6f6c631",通过命令'git reset --hard 6f6c631`进行版本的恢复。

撤销修改
   我们继续给"student.txt"进行修改,添加最后一句:

通过git add student.txt命令进行添加,当添加完后想撤销这个修改该怎么办呢?输入git status命令,下图所示:
发现提示我们,通过使用git reset HEAD <file>可以丢弃工作区的修改,输入git reset HEAD student.txt命令:

输入命令git checkout -- student.txt来丢弃工作区的修改,接下来查看一下"student.txt"文档现在的内容,发现已经撤销了修改的内容。

删除文件
   删除文件可以通过以下三句指令删除文件
rm <file>
git rm <file>
git commit -m <string_description>

远程仓库

添加远程库
  1. 关联
    在 GitHub 上创建一个名为 myGit 的仓库,输入如下命令将本地仓库与 GitHub上的仓库关联
    git remote add origin git@github.com:YoungForWP/myGit.git
  2. 推送
    git push命令将本地内容推送到远程上
    git push -u origin master  第一次推送时需要加上-u参数,以后就不需要了,我们看看推送后 GitHub 上的结果,和本地的内容一模一样。
克隆远程库
   登录 GitHub 创建一个名为"git_html"的仓库,并初始化 README ,输入命令:

git clone git@github.com: YoungForWP/git_html.git

已经克隆成功,我们对结果进行一个查看:

分支

  • 创建分支: git checkout <branch_name>
  • 贴换分支:git -b <branch_name>
  • 创建并切换分支: git checkout -b <branch_name>
  • 查看分支:git branch
  • 合并某分支到当前分支:git merge <branch_name>
  • 删除分支:git branch -d <branch_name>
    通常在合并分支时,Git 会用 Fast forward 模式,这种模式下会丢掉分支,看不到分支的信息,如果想看到分支信息可以输入如下合并命令:
    git merge --no-ff -m <string_description> <branch_name> --no-ff表示禁用Fast forward 模式,并在分支历史上可以看到分支合并情况。

推荐阅读更多精彩内容

  • git init 图例中首先创建了一个空的文件夹gitDemo,进入该文件夹,运行git init命令,提示创建了...
    我是那只喵阅读 158评论 0 1
  • 基础命令 用户设置 初始化仓库 把文件添加到仓库 把文件提交到仓库 添加文件到Git仓库 分两步: 第一步,使用命...
    前端渣渣阅读 1,312评论 0 20
  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 12,537评论 9 163
  • 1 上面两张图片的问题,看起来好简单。 出差返程 A市-B市,高铁从酒店到家接近10小时,而飞机即使提前一个半小时...
    水若_小水呓梦阅读 386评论 0 0
  • 我要把我丢掉 丢在茫茫的人海 感受孤独与寂寥 感受痛苦和绝望 我要把我丢掉 丢在空荡的荒野 感受狂暴和愤怒 感受混...
    小石子饺子馆阅读 89评论 0 1
  • 很开心有人关注了我,写这个的目的主要是为了总结自己的一天,也记录下自己的生活体验。 今天早上和室友一同...
    宫雀阅读 195评论 7 0