Git 经常使用命令总结
一 关于加入、删除和回退
1 git rm --cached file 想要git不再跟踪这个文件,可是又不想在硬盘中删除该文件
2 在被git管理的文件夹中删除文件时,能够选择例如以下两种方式:
① rm +git commit -am "abc"
② git rm+git commit -m "abc"
3 假设rm了。但想恢复 git checkout -- file
4 gir rm后想恢复:
① 假设没提交 git reset HEAD
② 已经commit git reset --hard <之前的版本号,可用git reflog查看>
5 改动后恢复
① 当你改乱了工作区某个文件的内容,想直接丢弃工作区的改动时,用命令git checkout -- file。
② 当你不但改乱了工作区某个文件的内容。还加入到了暂存区时,想丢弃改动,分两步。第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
③ 已经提交了不合适的改动到版本号库时。想要撤销本次提交,则进行版本号回退(git reset --hard )
HEAD时,表示最新的版本号。上一个版本号就是HEAD^,上上一个版本号就是HEAD^^。往上100个写成HEAD~100。
6 加入(git add)
① git add -u [<path>] 把<path>中全部tracked文件里被改动过或已删除文件的信息加入到索引库。它不会处理untracted的文件。
省略<path>表示.,即当前文件夹。
② git add -A [<path>] 把<path>中全部tracked文件里被改动过或已删除文件和全部untracted的文件信息加入到索引库。省略<path>表示.,即当前文件夹。
③ git add -i [<path>] 查看<path>中被全部改动过或已删除文件但没有提交的文件。
二 查看历史和改动
1 git log
2 git log --pretty=oneline
3 git diff HEAD -- file 查看工作区和版本号库里面最新版本号的差别
4 git log --graph --pretty=oneline --abbrev-commit 比較好的查看分支记录
三 Git配置
1 初始配置
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
2 加入远程仓库和推送
git remote add original git@github.com:lanbing510/learngit.git
配置后第一次推送 git push -u original master
增加-u git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就能够简化命令: git push original master
3 克隆 git clone 远程仓库地址
4 配置忽略文件
① 在Git工作区的根文件夹下创建一个特殊的.gitignore文件。然后把要忽略的文件名称填进去,Git就会自己主动忽略这些文件。一些配置文件可參见https://github.com/github/gitignore
② 或者使用命令git config --global core.excludesfile ~/.gitignore_global 加入到git全局配置以降低每层文件夹的规则反复定义,很多其它请參考 http://blog.csdn.net/lanbing510/article/details/40588323
5 配置别名
如 git config --global alias.unstage 'reset HEAD' 以后就能够使用 git unstage 把暂存区的改动撤销掉(unstage),又一次放回工作区
git config --global alias.last 'log -1' --> 显示最后一次改动 git last
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" git lg 更好的显示log
每一个仓库的Git配置文件都放在.git/config文件里
四 分支
1 创建并切换分支
git checkout -b newbranch
上面命令相当于 git branch newbranch 和 git checkout newbranch
2 git branch命令查看当前分支
3 合并某分支到当前分支:git merge name
4 删除分支:git branch -d name
5 禁用fast forward : merge时增加-no-ff
合并分支时,假设可能,Git会用“Fast forward”模式,但这样的模式下,删除分支后,会丢掉分支信息。假设要强制禁用“Fast forward”模式,Git就会在merge时生成一个新的commit。这样。从分支历史上就能够看出分支信息。
6 当手头没有完毕时。但须要修复之前的bug
git stash 把现场工作储存起来
git checkout master
git checkout -b fixbug
git add
git commit -m "fix bug"
git checkout master
git merge --no-off -m "merge bug fix fixbug" fixbug
git branch -d fixbug
git stash list 列出stash的内容
git stash apply 进行恢复 + git stash drop 删除stash = git stash pop
7 开发一个新的feature,最好新建一个分支
git branch -D <name> 丢掉一个没有被合并过的分支
8 推送分支
git push origin master 推送主分支
git push origin dev 推送新分支
master是主分支。须要时刻与远程同步
dev是开发分支,团队成员须要在上面工作,须要与远程同步
bug分支用于本地修复bug。不须要推送到远程,除非老板须要看
feature是否推送取决于你是否和人合作一起进行开发
9 git clone
当从还有一台电脑clone下来后,仅仅能看到master分支,看不到dev,假设要在dev上开发。必须创建远程origin的dev分支到本地:git checkout -b dev origin/dev
10 git push 失败
原由于远程分支比你的本地更新,首先git pull合并
假设合并有冲突,解决;假设git pull 提示 no tracking information,说明本地和远程分支的链接关系没有创建:git branch --set-upstream branch-name /origin/branch-name
五 标签
1 git tag name
比如: git tag v0.1 6224937
2 git tag 查看标签
3 git show <tag> 查看标签信息
4 还能够创建带有说明的标签,用-a指定标签名,-m指定说明文字: git tag -a v0.1 -m "version 0.1 released" 3628164
5 用PGP签名标签: git tag -s <tagname> -m "blablabla...“ 需首先安装gpg
6 推送一个本地标签:git push origin <tagname>
7 推送所有未推送过的本地标签:git push origin --tags
8 删除一个本地标签:git tag -d <tagname>
9 删除一个远程标签:git push origin :refs/tags/<tagname>
六 搭建Gitserver
參考 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137583770360579bc4b458f044ce7afed3df579123eca000
七 常出现的问题
1 ! [rejected] master -> master (non-fast-forward)
解决方法:
① git push -f 进行强推
② git fetch git merge
2 重命名文件(包含改变大写和小写)
git mv --force myfile MyFile
八 总结:Git Cheat Sheet
转载于:https://www.cnblogs.com/zsychanpin/p/7124793.html
Git 经常使用命令总结相关推荐
- Git基础(常用命令)介绍
版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统. 关于版本控制分为三种:本地版本控制系统,如rcs:集中化的版本控制系统,如CVS.SVN:分布式版本控制系统,如Git. Gi ...
- Git npm相关命令
Git 相关命令 查看用户名和密码 配置用户名和密码 查看git项目远程地址 添加git远程仓库 查看提交记录 查看已有tag 打标签 在某次提交记录上打标签 推送标签到远程 推送单个指定tag到远程 ...
- GIt/Github常用命令
1)git init:初始化本地仓库 2)创建文件:touch read.txt 3)当操作本地的文件时,使用常用的命令,如(mv,ls..)就可以操作,当操作暂存区的文件时需要在命令前家git,并且 ...
- Git系列之git log高级命令
原文地址 使用任何版本控制工具的目的都在于记录你代码的变化.这可以给予你查看项目历史的能力,去发现谁做出了贡献,弄清楚何时产生了bug,回滚到错误的修改.但是,如果你无法定位,获取这些历史记录将变得毫 ...
- Git使用教程-命令总结大全
/在 cmd 上操作/ git help // 帮助信息 常用git命令 和解释 git help -a // 命令目录 git help -g //手册 g ...
- Git操作手册|命令速查表
Git操作手册|命令速查表 这篇文章主要介绍Git分布式版本管理与集中式管理的一些差异,总结下Git常用命令作为日后的速查表,最后介绍Git进阶的一些案例. 本文分为以下几个部分: Git与SVN差异 ...
- git 与github 命令行操作与控制
一.git 1.download下载 https://www.git-scm.com/ 2.配置 用户名和邮箱 假设用户名为"xxxx",邮箱为"xxxx@xxxx.co ...
- git:config命令
前言 git 版本: 2.x 配置文件的存储位置 git配置文件有三个级别: --system --global --local gi各级别配置文件位置: 级别 linux位置 windows位置 - ...
- 报错:“-bash: git: 未找到命令”
报错:"-bash: git: 未找到命令" 解决方法: 安装git命令即可解决问题,Linux百科网是以CentOS 7 64位系统为例,在安装git命令之前需要先启用EPEL存 ...
- Git初学使用命令记录
2019独角兽企业重金招聘Python工程师标准>>> 1.初始化一个Git仓库:git init 2.添加文件到仓库:git add file 3.提交文件到仓库:git comm ...
最新文章
- saltstack学习-9:批量安装nginx服务并定时更新配置(pillar)
- Spark配置属性整理(非常全面)
- 前端学习(3179):ant-design介绍2
- 哈佛大学计算机生物科学,生命科学专业
- 线性代数向量内积_向量的外积| 使用Python的线性代数
- node on mac
- 【Android】Mac系统Android开发环境搭建
- Early stopping conditioned on metric `val_loss` which is not available
- 在电脑上如何录制游戏
- word2016论文不同章节设置页眉页码方法
- 作业:自行录制轻音、浊音、爆破音并使用Audacity分析其时域和频域的特性
- 百度白皮书5.0解读如何合理设置展开全文功能
- 人体运动检测与跟踪(转)
- 【生产者分析六】Kafka生产者Tips
- 120W快充!Redmi Note 11系列1199元起
- react native 文本换行
- 电脑无线共享手机wify上网
- Facebook推出Events应用 帮用户找到有趣活动
- 新手入门保姆级教程,Linux平台和手机端SDK,基于Opencv、MNN、NCNN
- Visual Studio 2010 sp1 在线升级包