文档章节

git 常用命令

Jack088
 Jack088
发布于 2015/04/22 15:27
字数 811
阅读 142
收藏 0

#程序员薪资揭榜#你做程序员几年了?月薪多少?发量还在么?>>>

基础命令

用户设置

$ git config --global user.name "Your Name"$ git config --global user.email "email@example.com"

初始化仓库

$ git init
Initialized empty Git repository in /Users/learngit/.git/

把文件添加到仓库

git add filename

把文件提交到仓库

git commit -m "comment message"

初始化Git仓库

git init

添加文件到Git仓库

1、git add 

2、git commit

查看结果

git status

查看具体修改内容

git diff filename

查看Git日记

git log
git log --pretty=oneline

查看历史

git reflog

恢复历史版本

git reset --hard commit_id

放弃工作区的修改

git checkout -- filename (ps:没有“--”,则“创建一个新分支”)

将暂存区的修改撤销掉(unstage),重新放回工作区

git reset HEAD  filename

git reset --mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息
git reset --soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可

git reset --hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

(1) 回退所有内容到上一个版本  
git reset HEAD^  
(2) 回退a.py这个文件的版本到上一个版本  
git reset HEAD^ a.py  
(3) 向前回退到第3个版本  
git reset –soft HEAD~3  
(4) 将本地的状态回退到和远程的一样  
git reset –hard origin/master  
(5) 回退到某个版本  
git reset 057d  
(7) 回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit  

git revert HEAD   


删除文件

git rm

关联一个远程库

git remote add origin git@server-name:path/repo-name.git

第一次推送master分支

git push -u origin master

推送最新修改

git push origin master

克隆一个本地库

git clone -b master https://git.oschina.net/jack088/K2HWAP.git

或 

git clone https://git.oschina.net/jack088/K2HWAP.git

git 分支

查看分支:git branch

创建分支:git branch name

切换分支:git checkout name

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

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

删除分支:git branch -d name

查看分支合并图

git log --graph

暂时保存工作内容

git stash 

查看存储的工作 

git stash list

恢复工作

1、git stash apply (恢复后,stash内容并不删除,需要用git stash drop来删除)

2、git stash pop (恢复的同时把stash内容也删了)

强行删除分支

git branch -D name

要查看远程库的信息

git remote

显示更详细的信息

git remote -v

推送分支

git push origin master

指定本地dev分支与远程origin/dev分支的链接

git branch --set-upstream dev origin/dev

获取远程更新数据
git pull

tag 标签

打一个新标签

git tag name

查看所有标签

git tag

查看标签信息

git show v1.0

指定标签信息

-a tagname -m "taginfo..."

PGP签名标签

-s tagname -m "taginfo..."

推送某个标签到远程

git push origin tagname

一次性推送全部尚未推送到远程的本地标签

git push origin --tags

删除标签

1、删除本地

git tag -d tagname

2、删除远程

git push origin :refs/tags/tagname

ignore 文件

配置命令别名

git config --global alias.st status
git config --global alias.co checkout
git config --global alias.ci commit 
git config --global alias.br branch
git config --global alias.unstage 'reset HEAD'


© 著作权归作者所有

Jack088
粉丝 45
博文 690
码字总数 111855
作品 0
扬州
高级程序员
私信 提问
加载中

评论(0)

【开发工具】最强Git使用总结

<span style='color:red;font-size:25px;'>最全的Java后端知识体系</span><span style='color:red;font-size:25px;'> https://www.pdai.tech</span>, <span style='color:red;font-size:25px......

osc_9sy7s563
2018/06/05
5
0
git文章列表

关于gitlab默认clone协议 Git实现从本地添加项目到远程仓库 翻翻git之---一个简单的标签控件 LabelView (随手发了两张小宝宝的玩耍照) Git 项目推荐 | Java 版微信普通号机器人 翻翻git之---...

d_watson
2016/04/20
27
0
bash 工具集--Gitbash

Gitbash 是一个 bash 工具集,对 git 的常用子命令做了一系列别名处理。不用再输入类似 的命令直接进行 'clone http://...' 就可以,省掉了 git 主命令的输入。 对于 commit , checkout 等常...

NicholasXu
2015/10/23
4.1K
0
Git Clone 指定分支到本地并新创建分支提交

Git Clone 指定分支到本地并新创建分支提交 参考:git clone 指定分支到本地(https://blog.csdn.net/fenglongmiao/article/details/80833213) 一、 切换到要被copy的分支(master),并且从远...

近在咫尺远在天涯
2019/06/24
3.5K
0
Git 入门+工作基本够用详解

常用 Git 命令清单 //如果你觉得排版不是很舒服请看 原址http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是很多命令...

Galy_绿
2016/01/08
92
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯副总裁魏颖:提瓢入市,倚杖而归

  魏颖,腾讯公司副总裁,2008 年加入腾讯,全面负责公司薪酬福利、绩效管理、员工关系以及海外业务人力资源。   ————————   很多人对人力资源(HR)工作的理解就是一些人事流...

alkcendkljk
30分钟前
13
0
OSChina 周二乱弹 —— 我要一份儿大姐姐的爱

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @Cobbage :分享赵雷的单曲《阿刁 (Diao)》: 《阿刁 (Diao)》- 赵雷 手机党少年们想听歌,请使劲儿戳(这里) @喵星人123 :昨天睡到半夜 突然...

小小编辑
31分钟前
11
0
window下 mongodb开启用户名和密码 权限

在默认情况下,mongod是监听在127.0.0.1之上的,任何客户端都可以直接连接27017,且没有认证。 好处是,用户可以即时上手,不用担心被一堆配置弄的心烦意乱。 坏处是,公网服务器搭建MongoDB...

东东笔记
今天
9
0
数据倾斜

数据倾斜: 两种数据倾斜发生的现象: 80%情况下都发生挂了,只有极少20%情况下能把task执行完成 窄依赖:结构简单,如果发生数据丢失,方便查找丢失的数据 宽依赖:结构复杂,如何发生数据丢...

七宝1
今天
20
0
我的jdk源码(十一):ArrayList

一、概述 ArrayList类是AbstractList的子类,实现了具体的add(), set(), remove()等方法。它是一个可调整大小的数组可以用来存放各种形式的数据。 二、源码分析 (1) 类的声明,源码如下: ...

Java觉浅
昨天
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部