git常用的一些命令总结

git常用的一些命令总结

  • git init 创建一个版本库
  • git add file 将文件从工作区提交到暂存区
  • git commit -m “blabla……” 将文件中暂存区提交到仓库
  • git status 查看仓库当前的状态
  • git diff 可以查看具体修改了哪些内容
  • git log 查看我们提交的历史记录
  • git log –pretty=oneline #输出少量版本信息和提交的内容
  • git reset –hard HEAD^ #返回上一个版本
  • cat filename #查看文件内容

如何从现在回到过去呢??

- git reset –hard HEAD^ #返回到上一个版本

- git reset –hard HEAD~100 #返回往上100个版本

如何从过去回到现在呢??

方法:共两步

- 用git reflog命令找到版本号

- 然后用命令git reset --hard versionNumber #versionNumber为版本号

问题:当我们要add很多文件,但是有那么一个不想add的,应该如何来完成呢??

例如我们想提交我们当前目录写的所有后缀为.java的文件,除了一个test.java这个文件不提交。

步骤如下:

  • git add *.java #添加所有的后缀为.java的文件
  • git reset HEAD test.java #把暂存区的test.java撤销到工作区
  • git commit -m “add all .java file except test.java”

注意:Git跟踪并管理的是修改,而不是文件,理解这一点很重要

撤销修改

  • 当什么时候我们想撤销修改呢??有如下情况

    第一种:当你改乱了工作区某个文件的内容时,想直接丢弃工作区的修改时,用命令

    git checkout - -filename 即可。

  • 第二种:当你改乱了工作区某个文件的内容时,还提交到 了暂存区时,想丢弃修改,应怎么办呢??第一步为:git reset HEAD filename 将文件从暂存区撤销到工作区,第二步为:按第一种情况修改,即 git checkout - -filename
  • 第三种:已经提交了不合适的修改到了版本库,想要撤销本次的提交,应该怎么办呢??利用版本回退即可解决问题。

删除文件

  • rm filename #用此命令即可完成文件的删除

Git知道你删除了文件,git status命令会告诉你,现在你可能是2种意图之一,如下;

  • 第一种:确实要从版本库中删除该文件,那就用命令 git rm 删除,并且 git commit提交即可。
  • 第二种:就是删错了,因为版本库中还有,因此可以很轻松的将误删的文件恢复到最新的版本: git checkout - -filename #git checkout 其实是用版本库中的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”

远程仓库

大家都比较熟知Github,GitHub就是一个免费托管开源代码的远程仓库。

当我们有一个Github账号时,我们就可以利用Github来对我们的文件进行管理了。那应该如何将我们本地仓库的内容推送到远程仓库中去呢??

步骤如下:

- 第一步:git remote add origin [email protected]:xxxxxxx/remoterepositoryname.git #xxxxxxx为你的用户名,后面的为你的仓库名。这是与远程仓库建立连接。

- 第二步:git push -u origin master #若提示origin已存在,则用git remote rm origin删除。

以后用git push origin master 推送最新修改即可

从远程克隆

假设我们从零开发,最好的方式是先创建远程库,然后,从远程库克隆。

例如:我们在Github中新建了一个testgit远程库。则用如下命令完成克隆。

git clone [email protected]:xxxxxx/testgit.git

或者是:git clone https://github.com/xxxxxx/testgit.git#这种方式要输入账户名和密码,比较麻烦,但是有的情况下,我们通过第一种命令总是不能正确的进行clone,在这种情况下,可以选择此命令来完成clone。

创建与合并分支

master分支是主分支,我们一般不再这个分支上面工作,因此我们就需要创建分支,当我们在新分支上面完成我们的工作后,我们一般又要对分支进行合并,将我们的工作合并到主分支上面去。下面进行详细的介绍

  • git checkout -b dev #创建dev分支,然后切换到dev分支上面去。这个命令等价于如下两条命令
git branch dev  #创建dev分支
git checkout dev #切换到dev分支
  • git branch #查看当前分支(结果中:当前分支前面会标有一个*号)
  • git merge dev#合并dev分支,即把dev分支上面的工作成果合并到其它的分支上
  • git branch -d dev #合并完成后,我们就可以删除dev分支了

注意:合并分支时,加上- -no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast-forward合并就看不出曾经做过合并。

用如下命令可以查看分支历史

  • git log -- graph --pretty=oneline --abbrev-commit

Bug分支

恢复bug时,我们会通过创建新的bug分支进行恢复,然后合并,最后删除。

但是,当我们的手头的工作没有完成时,先要把工作现场 git stash一下,然后去修复bug,恢复后,用git stash pop回到回到工作现场继续工作。

推送分支

要查看远程库的信息,用如下命令:git remote,若用git remote -v会显示更详细的信息。

推送分支,就是把该分支上的所有本地提交推送到远程库中,推送时,要提交本地分支,这样,Git就会把分支推送到远程库对应的远程库分支上。如下:

- git push origin master #推送到master分支上

- git push origin dev #推送到dev分支上

但是,在我们推送的过程中,我们会遇到推送失败的情况,这可能是因为远程分支比你的本地分支更新,需要先用git pull试图合并,如果合并有冲突,则需要解决冲突,并在本地提交,直到没有冲突后再用 git push origin <branchname>推送就能成功。

注意:如果使用git pull命令时 提示no tracking information,则说明本地分支和远程分支的链接关系没有创建,用如下命令即可

git branch - -set-upstream <branchname> origin/<branchname>

标签管理

打标签

  • 首先,切换到需要打标签的分支上
  • 然后,用git tag <name>就可以打一个新的标签了。也可以指定标签信息,如下git tag -a tagname -m "blabla..."
  • git tag #查看所有标签。
  • git show tagname #查看标签信息

操作标签

  • 如果标签打错了,可以删除:git tag -d tagname
  • 如果要推送某个标签到远程:git push origin tagname,或者一次性推送所有标签到远程:git push origin -- tags
  • 如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除(以标签wu为例):git tag -d wu;然后,从远程删除:git push origin :refs/tags/wu

配置别名

偷懒是每个人的天性,我也喜欢偷懒

如果我们敲git st能够代替git status时,我们都希望能够这么做,但是,应该怎么才能这么做呢?这就需要我们配置一下即可完成。

用如下命令:git config --global alias.st status即可。其它的命令都可以这样来配置,这样方便我们更好的操作。

总结

这个是我学习廖雪峰老师git教程的一点总结,若觉得我的博客有不妥的地方,可以通过我删除。廖老师的git教程确实讲解的挺好的,也算是系统的学习了一下Git版本控制这个工具。在此,对老师表示感谢,这里奉上廖老师的git教程链接:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000,教程上讲解的更详细。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-27 12:39:13

git常用的一些命令总结的相关文章

git常用分支管理命令

切换分支:git checkout name 撤销修改:git checkout -- file 删除文件:git rm file 查看状态:git status 添加记录:git add file 或 git add . 添加描述:git commit -m "miao shu nei rong" 同步数据:git pull 提交数据:git push origin name 分支操作 查看分支:git branch 创建分支:git branch name 切换分支:git che

GIT常用的基础命令

1.起步 用户信息 配置你个人的用户名称和电子邮件地址.这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录: $ git config --global user.name "youname" $ git config --global user.email "[email protected]" 如果用了 --global 选项,那么更改的配置文件就是位于你用户主目录下的那个(见图1),以后你所有的

git常用命令常用场景

在使用git之前,一直用的是svn版本管理:与svn最大不同的是,git有两个仓库,一个是本地仓库,一个是服务器上共享的仓库:本地仓库是每个开发者自己独有的,即使commit提交也只是提交到本地仓库:这只是git流行起来的一个优势之一,另外linux作者开发的这套版本管理工具,很接地气,也是流行起来的一大亮点.扯了这么多没用的,言归正卷,那么在日常开发工作中,哪些git命令是我们常用到的呢?下面就说说几个常用命令的常用场景,至于这些命令详细使用就不在本文讨论之内. 1.git命令别名 使用过gi

【前端小小白的学习之路】Git常用命令整理

Git 常用命令清单. 几个专用名词的译名如下: Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一.新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-name] # 下载一个项目和它的整个代码历史 $ git clone [url] 二.配置 Git的设置文件为.gitconfig,它可以在用户主目录下(全局

git bash 常用操作文件命令

git bash常用操作文件命令 在Windows下使用Git Bash,用的是Linux命令,常用几个文件操作命令如下: Windows命令 Linux 命令 意义 Windows命令 Linux 命令 意义 cd e:\xxx cd /e/xxx 切换到xxx目录 cd pwd 显示当前目录路径 dir ls 列出当前目录内容 copy nul xxx.txt touch xxx.txt 生成名为xxx.txt的空文件 del xxx.txt rm xxx.txt 删除xxx.txt文件 m

git常用命令2

git常用命令2 添加远程仓库(以github为例) 登录官方网站https://github.com,没有的话去注册一个账号吧. 然后新建一个仓库 在Repository name填入learngit,其他保持默认设置,点击"Create repository"按钮,就成功地创建了一个新的Git仓库: 目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHu

iOS开发——开发技巧&amp;Git常用命令

Git常用命令 初始化git init        加—bare实现远程仓库 配置git config user.name iCocos 配置全局git config —global user.name iCocosgit config —global user.email [email protected] 状态git status 添加到帮派git add iCocos.m 提交git commit iCocos.m -m “注释” Log纪录git loggit log + 文件名git

git常用命令集合

由于需要多人异地开发一个项目,又不想部署一台用于版本控制的服务器,所以想到用github,研究了大半天,终于搭好了.现在分享流程如下: 1. 去github官网注册一个账号: 2. 创建代码库工程(create a New Repository),根据提示走就ok: 3. 创建完以后就会有一个工程首页,链接一般是https://github.com/gaohuabj/<工程名称> 4. 安装git for windows,安装完以后有几种工作方式bash和gui,个人比较喜欢bash方式,直接

git常用命令符

全局配置 $ git config --global user.name "姓名" 告诉git你是谁 $ git config --global user.email "[email protected]" 告诉git怎么联系你 如果注册了 github 账号,邮箱最好和 github 账号统一 $ git config -l 查看配置信息初始化代码仓库 $ git init 初始化代码库 $ git add . 将所有变化添加到暂存区 $ git commit -