文档章节

git常规命令

 走起来
发布于 2017/04/07 11:09
字数 955
阅读 11
收藏 0

refer: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

版本回退 git reset --hard 3628164 git reset --hard HEAD^ git reset --hard HEAD^^ git reset --hard HEAD~100 //倒数100个版本

查看提交日志: git log git log --graph --pretty=oneline --abbrev-commit

查看命令历史: git reflog

查看当前状态: git status

添加和提交 git add readme.txt git commit -m 'readme file add first' readme.txt

比较工作区和暂存区不同: git diff readme.txt git diff HEAD -- readme.txt

比较暂存区和本地版本库不同: git diff --cached HEAD readme.txt

工作区撤销修改: git checkout -- readme.txt

暂存区撤销修改: git reset HEAD readme.txt

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

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

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

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

合并某分支到当前分支: git merge dev //Fast forward模式合并 git merge --no-ff -m "merge with no-ff" dev //非Fast forward模式,分支保留成一个旧的版本,合并后的历史有分支,能看出来曾经做过合并

删除分支:git branch -d <name>

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场 你可以多次stash,恢复的时候,先用git stash list查看,然后恢复指定的stash,用命令: git stash apply stash@{0}

因此,多人协作的工作模式通常是这样:

首先,可以试图用git push origin branch-name推送自己的修改;

如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

如果合并有冲突,则解决冲突,并在本地提交;

没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

这就是多人协作的工作模式,一旦熟悉了,就非常简单

查看远程库信息,使用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 <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;

git tag -a <tagname> -m "blablabla..."可以指定标签信息;

git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;

命令git tag可以查看所有标签。

命令git push origin <tagname>可以推送一个本地标签;

命令git push origin --tags可以推送全部未推送过的本地标签;

命令git tag -d <tagname>可以删除一个本地标签;

命令git push origin :refs/tags/<tagname>可以删除一个远程标签

忽略提交的文件信息文件 git check-ignore -v App.class //查看是否忽略提交

问题: git push -u origin master Warning: Permanently added the RSA host key for IP address '192.30.255.113' to the list of known hosts. Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. answer: 第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下>一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key: $ ssh-keygen -t rsa -C "youremail@example.com" 第2步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

本文转载自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

共有 人打赏支持
粉丝 1
博文 25
码字总数 2727
作品 0
闵行
私信 提问
开源 Git 插件--Git Town

Git Town 是开源的 Git 插件,可以添加 Git 命令,使得软件协作开发更高效更安全。Git Town 支持常规和高级别的 Git 工作流。 Git Town 提供以下这些额外的 Git 命令: 开发工作流 git hack...

叶秀兰
2015/11/02
2.9K
0
Git Town —— 支持高级别工作流开源 Git 插件

Git Town 是开源的 Git 插件,可以添加 Git 命令,使得软件协作开发更高效更安全。Git Town 支持常规和高级别的 Git 工作流。

oschina
2015/11/03
17
0
Git reset/revert的应用

课下来自己动手试试git的命令 主要尝试及记录 以上3个命令的具体作用及区别,这些命令主要用于撤销修改,但又各有些小区别 尝试准备 首先,为了制造合适的测试环境,我选择重新初始化一个本地...

秦亦辰
2017/08/15
0
0
Git 安全工具--Git-secure

Git 存储库加密工具 git-secure 主要的功能时在用户提交时将用户的代码或者文件使用 AES 加密,然后发布到代码托管平台,同时也支持用户从远程服务器上 clone 已被加密的存储库并从中恢复源码...

Force武装卫队
2017/08/03
429
1
GitLab 不受 Git 安全漏洞影响 CVE-2014-9390

昨天 Git 爆出一个严重的安全漏洞。该漏洞影响所有官方的 Git 客户端版本,由于是一个客户端的漏洞,因此包括 git.oschina.net、GitLab.com, GitLab 社区版和企业版 都不会直接受影响。 该漏...

红薯
2014/12/20
1K
7

没有更多内容

加载失败,请刷新页面

加载更多

大数据教程(8.3)wordcount程序运行过程的解析

上一篇博客分享了wordcount的源码编写、原理实现,本节将对wordcount在hadoop内部运行过程进行解析。 运行流程图如下: 上图中说明:mr appmaster启动后,会根据任务分配规则进行任务的启动,...

em_aaron
3分钟前
0
0
Zookeeper安装(LINUX环境)

一、上传安装包 二、解压安装包 mkdir -p /usr/lib/jvm tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/lib/jvm 三、修改配置文件 复制zoo_sample.cfg改名zoo.cfg 给zoo.cfg赋权 chmod 777 zoo.......

开源中国首席碉堡了
26分钟前
0
0
【面试必问】支撑百万并发的"IO多路复用"技术你了解吗?

多路复用其实并不是什么新技术,它的作用是在一个通讯连接的基础上可以同时进行多个请求响应处理。对于网络通讯来其实不存在这一说法,因为网络层面只负责数据传输;由于上层应用协议的制订问...

Java干货分享
28分钟前
2
0
Rotate Array(leetCode189)

Given an array, rotate the array to the right by k steps, where k is non-negative. Example 1: Input: [1,2,3,4,5,6,7] and k = 3Output: [5,6,7,1,2,3,4]Explanation:rotate 1 s......

woshixin
44分钟前
1
0
给女朋友讲解什么是Optional【JDK 8特性】

前言 只有光头才能变强 前两天带女朋友去图书馆了,随手就给她来了一本《与孩子一起学编程》的书,于是今天就给女朋友讲解一下什么是Optional类。 至于她能不能看懂,那肯定是看不懂的。(学到...

Java3y
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部