Java编程思想git使用Git

git使用教程(提交,远程,分支,回退,回滚,克隆,忽略)

2017-07-25  本文已影响451人  hk_sky

1.git的安装

网站下载git,一路回车安装,安装好后点击鼠标右键会有Git bash here ,点击Git bash here命令行输入git --version会有git的版本信息。

2.git版本管理的基本操作

git  init 建立本地git repository仓库并对文件进行追踪用

git  status  查看状态

git  add . / git  add -A  这两个命令是全部添加到暂存区,也可以添加指定文件到暂存区 git add index.html

git  commit  -m"对这次提交的描述"   ,这样就将修改提交到本地的 repository仓库中, 描述就是为了方便后期再次查看时好理解

git remote add origin  https://github.com/***/ch1701.git    把本地的仓库和gitHub仓库想关联

git   pull  origin  master        从gitHub仓库的master分支拉取代码到本地

git  pull origin master      --allow-unrelated-histories         //强制拉取线上到本地合并()

git  push  -u  origin  master     提交到gitHub仓库的master分支,第一次的时候需要 -u 参数,后面再提交就不需要 -u 了

git  push  -u  origin  master  -f      //强制把本地推到线上覆盖(当回退线上仓库时会用到)

git  cat  help.txt         查看内容

git  rm   help.txt         删除help.txt文件

reset    清屏,实质是清除屏幕记录; ctrl  +  l  也是清屏,实质是把记录上移,以确保当前显示框干净

git  diff   help.text  查看当前版本与上个版本的不同

git  config  user.name          查看当前用户名

git   config   user.email        查看当前邮箱

至于上文中的gitHub仓库的来源,直接去github网站上注册一个账号,点右上角加号new repository,然后取个名字回车就好了

3.分支操作

创建本地分支:  git  branch  aaa    ,这里aaa为新建的分支名字

创建分支并切换到新分支:  git  branch   -b   aaa    ,这里aaa为新建的分支名字

查看本地分支:git  branch          不给参数默认本地分支

合并分支:   git   merge   aaa      (想把aaa分支合并到master分支,要先切换到master分支再执行合并操作)

放弃分支合并:   git   merge   –abord    aaa

查看远程分支:git  branch  -r      ,r代表remote即远程分支

查看所有分支:git  branch  -a      ,a代表all即所有分支

切换分支:git  checkout   aaa   ,从master分支切换到aaa分支      (切换分支前确保当前分支的修改都已提交)

创建远程分支 / 推送新分支放到远程:git  push  origin  aaa     ,会自动 在远程添加aaa分支

删除本地分支:git  branch  -d   aaa    删除aaa分支前确保切换到非aaa分支上再执行此命令

删除远程分支:git  push  origin  :aaa  (origin 后面有空格)

删除远程分支:  $ git  push  origin  --delete  aaa

当页面内容很多时,可以用按 f 键下一页,按 b 键上一页,:wq是退出当前

4.查看提交记录操作

git  log    查看详细提交日志,按f键想下翻页,按b键向上翻页,按q退出

git  log  --oneline     显示只有一行的简单提交日志

git  log  --oneline   -6     显示最近的6条提交日志

git  log  --oneline  --author="hu"    显示指定作者的提交日志

git  log  --oneline  --grep="index.html"    显示index.html的提交日志

git  log  --oneline  --before='2017-07-20'    显示2017-07-20日期之前(包含这一天)的提交日志

git  log  --oneline  --before='3 days'    显示最近3天的提交日志

git  log  --oneline  --before='1 weeks'    显示最近1周的提交日志

git  log  --oneline  --graph     显示带图形效果的提交日志

当回滚、回退后会看不到当前版本后的提交记录,这时可以执行 git  reflog 这个命令会记录每一次操作记录   

5.checkout操作 (回退版本方法一)

对于在工作区(未加入暂存区)的修改,想要放弃修改使用这个方法:

git checkout .  撤销对所有已修改但未放入暂存区的文件的修改,但不包括新增的文件

git  checkout  -- .    同上

git checkout  [filename]    撤销对指定文件的修改,[filename]为文件名

git  checkout  --  [filename]     同上

对于已经git  add 加入暂存区的文件想要放弃修改的话需要这样操作:

    git  reset  HEAD  index.html    可以把暂存区的修改撤销掉,重新放回工作区,然后就回到上面的那个方法了

对于已经commit 的文件,如果想要回退就要使用以下这个方法:

    先git  log  --oneline  查看提交信息

git  log --oneline

    git  checkout  a9db330    会回退到测试2的提交,并创建一个临时分支放测试2节点的代码,此时输入git  branch  可以看到分支在临时分支上,本地代码也变回测试2的。如果又想回到最近的那次提交只需要切换回主分支master就好了,执行git  checkout  master ,本地代码会变回最新的提交版本测试4的状态,同时临时分支会消失。如果想保存测试2那个分支,那就在切换master分之前新建一个分支执行git  checkout  -b   aaa,再执行git  branch会发现临时分支也不见了,只有master和aaa,其中master是最新测试的状态,aaa就是测试2的状态。如下图:

只查看会退的版本,临时分支不保存 查看回退的版本,并新建分支保存临时分支

注意:  

这里需要注意一点,当回退到测试版本2后,测试版本2后的提交记录都会不见的,我们就不能通过git  log找到测试版本4的commit_id了,我们可以用 git  reflog查看每一次操作的记录找到测试版本4的commit_id 。想要回到最近的一次提交测试4只需要切换到master分支就好了,如下图。


回退后的git  log  --oneline 回退后git   reflog

6.reset操作 (回退版本方法二)

先git  log  --oneline  查看提交信息


git  log   --oneline

执行git  reset  --hard  HEAD^    会回退到最近的提交版本的前一个版本(3065b27)

执行git  reset  --hard  HEAD^    会回退到最近的提交版本的前两个版本(3065b27)

执行git  reset  --hard  HEAD~20   会回退到最近的提交版本的前20个版本

也可以根据提交的commit_id来回退:

执行 git   reset  --hard  a9db330    ,  a9db330是通过git  log查看到的额测试2提交的commit_id

git  reset  --hard  a9db330

这里需要注意的是:执行此方法后不会像checkout那样新建一个临时分支,而是直接把本地的代码会退到指定的版本,如果回退完后又想返回最新版本,执行 git  reset  --hard  commit_id4, 这里的commit_id4是最新提交版本的id, 可以在回退之前截个图保存下来,或者通过 git  reflog 查看。当回退到测试版本2后,测试版本2后的提交记录都会不见的,我们就不能通过git  log找到测试版本4的commit_id了,这时候又想回到测试提交4的版本怎么办,我们就可以用 git  reflog查看每一次操作的记录找到测试版本4的commit_id4然后再 git  reset  --hard  commit_id4 就又回到最新的提交版本

回退版本后又返回最新的版本

7.remote操作

git  remote  查看远程分支(没有改动的话默认是master)

git  remote  -v    查看git远程仓库地址

修改远程仓库地址:

  1.修改命令

      git  remote   set-url    origin    [url]

  2.先删后加

      git remote rm origin

      git remote add origin [url]

git  remote  -v

8.clone 克隆

把git仓库的代码克隆到本地,只需要执行    

git  clone   https://github.com/×××.git      这样会在当前目录下建立一个跟git仓库同名的文件夹,文件夹里是代码

git  clone  https://github.com/×××.git    test    ,这样会在当前目录下新建一个test文件夹用来放git远程代码  

9.gitignore 忽略

在我们使用github提交本地代码时,有些库文件和日志文件是不必要提交的,这个时候我们就会用到.gitignore文件了。

首先,.gitignore文件应该是创建在你的项目的根目录下面的,执行命令创建 .gitignore文件,也可以直接在文件管理中去创建

vim .gitignore

或者    touch  .gitignore

添加忽略的目录和文件:

node_modules/                                       //该文件下所有文件

dist/

.project                                                   //所有以.project结尾的文件

*.log                                                        //所有以.project结尾的文件

!aaa.log                                                //不过滤aaa.log文件,该文件会被提交到线上仓库

platforms/

plugins/

这些文件都是库文件以及自动生成的模块,都是不必要提交的。

对于已经提交,现在又不想提交的文件(不想让它出现在远程版本库里),应该这样操作:

     去项目根目录下创建.gitignore文件,并且添加需要忽略提交的文件(方法同上),然后执行

git  rm  -r  --cached  node_modules                    (node_modules为要删除的文件名)

      然后再 push 到远程,这时去github的库里去就会发现刚刚删除的东西不见了

10.git bash here窗口与cmd窗口的基本命令(windows)

基本命令


git bash基本命令

以上都是我平时遇到的,我总结了一下写了出来,方便大家查看。这只是一部分,还有很多等我想起来了再往上添加。

文中如果有写错或不对的地方恳请您留言指出批评,如果此文对你有帮助,请加关注收藏点赞。

上一篇下一篇

猜你喜欢

热点阅读