文档章节

git 的简单命令

萧小蚁
 萧小蚁
发布于 2015/10/10 20:24
字数 1184
阅读 31
收藏 0

git init

git add file.txt   添加

git commit -m "XXX"  提交

git status

git diff

git log     查看提交历史

git log --pretty=oneline  历史一行一行显示

git reset --hard head^(回退到上一个版本)

git reset --hard 版本号前几位  

git reflog  查看命令历史

git checkout -- readme.txt  丢弃工作区的修改

git reset HEAD file 不但改乱了⼯工作区某个⽂文件的内容,还添加到了暂存区时,想丢弃修改,分两步 1、reset  2、checkout

  

删除文件:

  rm 文件名

  git rm 文件名

  git commit -m "rm 文件名"


  rm 文件名

  git checkout -- test.txt


$ git push origin master    本地master分⽀支的最新修改推送⾄至GitHub


git remote add origin git@server-name:path/repo-name.git ;  关联一个远程库

git push -u origin master     第一次推送master分⽀支的所有内容;


从远程库克隆

git clone git@github.com:michaelliao/gitskills.git

Cloning into 'gitskills'...

remote: Counting objects: 3, done.

remote: Total 3 (delta 0), reused 0 (delta 0)

Receiving objects: 100% (3/3), done.

$ cd gitskills

$ ls

README.md


$ git checkout -b dev  创建dev分支,然后切换到dev分⽀支:

  git checkout 命令加上 -b 参数表⽰示创建并切换,相当于以下两条命令:

$ git branch dev  查看分支

$ git checkout dev  切换分支


$ git branch  查看当前分支

* dev

master

git branch 命令会列出所有分⽀支,当前分⽀支前⾯面会标⼀一个*号。


查看分支:git branch

创建分支:git branch name

切换分支:git checkout name


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

合并某分支到当前分支: git merge name

删除分支: git branch -d name


Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容


git log --graph --pretty=oneline --abbrev-commit    查看分支的合并情况


合并分支时,如果可能,Git会⽤用“Fast forward”模式,删除分支后,会丢掉分支信息。


如果要强制禁用“Fast forward”模式,Git就会在merge时生成一个新的commit,这

样,从分支历史上就可以看出分⽀支信息。

              

git merge --no-ff -m "merge with no-ff" dev   --no-ff参数,表示禁用“Fast forward”

                                              因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去。



git stash  把当前工作现场“储藏”起来,等以后恢复现场后继续工作

git checkout -b issue-编号   增加bug的分支

git merge --no-ff -m "merged bug fix 101" issue-101   bug合并到主干

git branch -d issue-编号  删除bug分支

git stash list 查刚才的工作现场

git stash apply  恢复现场   git stash apply stash@{0}

git stash drop   删除stash内容

git stash pop 恢复现场的同时,删除stash内容  


开发一个新feature,最好新建一个分支;

如果要丢弃一个没有被合并过的分支,可以通过 git branch -D name 强行删除。


git remote 查看远程库的信息

git remote -v 查看远程库,显示更详细的信息


多人协作

查看远程库信息,使用 git remote -v ;

• 本地新建的分支如果不推送到远程,对其他人就是不可见的;

• 从本地推送分支,使用 git push origin branch-name ,如果推送失败,先用git pull抓

取远程的新提交;

• 在本地创建和远程分支对应的分支,使用 git checkout -b branch-name origin/branch-

name ,本地和远程分支的名称最好一致;

• 建立本地分支和远程分支的关联,使用 git branch --set-upstream branch-name

origin/branch-name ;

• 从远程抓取分支,使用 git pull ,如果有冲突,要先处理冲突。



标签


  git tag v1.0   创建标签

  git tag   查看标签

  git log --pretty=oneline --abbrev-commit 找到历史提交的commit id

  git tag 版本号 commit id   对某次的提交打标签

  git show 版本号 查看标签信息


  还可以创建带有说明的标签,⽤用-a指定标签名,-m指定说明⽂文字:

  $ git tag -a v0.1 -m "version 0.1 released" 3628164


还可以通过-s⽤用私钥签名⼀一个标签:

$ git tag -s v0.2 -m "signed version 0.2 released" fec145a

签名采⽤用PGP签名,因此,必须⾸首先安装gpg(GnuPG),如果没有找到gpg,或者没有

gpg密钥对,就会报错:

gpg: signing failed: secret key not available

error: gpg failed to sign the data

error: unable to sign the tag

如果报错,请参考GnuPG帮助⽂文档配置Key。



  git tag -d 版本号  删除标签

  git push origin 版本号  推送某个标签到远程

  git push origin --tags  一次性推送全部尚未推送到远程的本地标签

 

  如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:

  $ git tag -d v0.9


  然后,从远程删除。删除命令也是push,但是格式如下:

  $ git push origin :refs/tags/v0.9



git的其他设置


  $ git config --global color.ui true   让Git显示颜色,会让命令输出看起来更醒目:


配置别名


  $ git config --global alias.st status 


© 著作权归作者所有

共有 人打赏支持
上一篇: 搭建Git服务器
下一篇: linux压缩与打包
萧小蚁

萧小蚁

粉丝 98
博文 279
码字总数 192339
作品 0
海淀
程序员
私信 提问
为什么要有Git add 命令

不知道大家在学习Git的过程中,有没有想过一个问题,就是为什么要有git add 命令. 当一个文件被我们add过后,每次commit前还是需要git add,为什么不像svn那样只用add一次,以后在也不用add...

我是偶哦
2016/05/20
30
0
GitLab的安装及使用(CentOS 7)

一、前言 GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。 它拥有与Github类似的功能,能够浏览源代码,管理...

wzlinux
2017/10/22
0
0
git简单教程

1、创建新仓库 创建新文件夹,打开,然后执行git init创建新的git仓库。 2、检出仓库 执行下面的命令创建一个本地仓库的克隆版本。 git clone /path/to/repository 如果是远端服务器上的仓库...

一觉泯恩仇
2015/09/18
63
0
GitLab基础命令 使用日志

6月进入新公司,公司用的GitLab进行代码托管。对于我这种半路出家的程序员,终端操作一直感觉是恶梦,虽然很多都是基本而且简单的命令,但本能有一种对非可视化操作的抗拒。但抗拒归抗拒,该...

阿元
2015/07/11
394
0
撤销git add操作

使用Git的时候,有时候不小心使用git add,添加了不想追踪的文件。也就是track了一些不想track的文件,这个时候需要撤销操作,怎么处理呢? Git 文件状态的生命周期 演示 还原操作 使用git r...

Real_man
2018/01/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

搜索引擎(Lucene-索引详解)

IndexWriter详解 问题1:索引创建过程完成什么事? 回顾架构图 Lucene索引创建API 图示 Lucene索引创建代码示例 public static void main(String[] args) throws IOException { // 创建...

这很耳东先生
23分钟前
1
0
JavaScript数据结构之栈实例用法

在本篇文章里小编给大家分享了关于JavaScript数据结构之栈实例用法内容,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 栈 先来看...

前端攻城老湿
33分钟前
1
0
springboot 使用 redis 管理session

1.pom.xml 引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency><dependency> ......

狼王黄师傅
33分钟前
1
0
Js取小数点后两位四种方法

在本篇文章里小编给大家分享了关于js取小数点后两位四种方法和实例代码,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下。如有不足之处,欢迎批评指正。 Javascri...

前端攻城小牛
40分钟前
1
0
js 唤端

h5页面唤起app const appDownload = () => { // 分享- 唤起 - 下载function failed() {window.location = '应用商店的scheme '}function transfer(cb) {window.location.href =......

何祯粮
40分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部