美文网首页
git 命令笔记

git 命令笔记

作者: zhenbinjing | 来源:发表于2018-08-22 17:42 被阅读0次

-----------------------------------------------本地-----------------------------------------------

git config --global user.name "Your Name"            【配置你的github用户名】

git config --global user.email "email@example.com"   【配置你的github邮箱】

git config --global color.ui true        【提示高亮】

git config --global alias.st status     【简化命令】

mkdir mygit  【新建一个文件】

cd mygit     【去到当前文件】

git init     【创建一个版本库】

git add one.txt           【创立一个工作区; (空格之间添加多个文件)】--all

git commit -m"描述文字"   【提交到版本库+版本信息】

git remote add origin git@github.com:you/you.git 【新建并提交到一个自己的远程库】

git status                【检查文件是否被修改过】

git diff                     【查看被修改过内容】

git log                    【查看提交日志】

git reflog                【查看所有编写过的命令】

git reset --hard HEAD^    【返回上一个版本】

git reset --hard (版本id) 【穿梭】

cat xxx.txt                      【查看文件内容】

vi  xxx.txt                       【编辑】

wq                                 【退出】

git checkout -- 文件名    【撤销修改】

git checkout . 【恢复上一个commit的所有文件到工作区】

【删除commit】

git reset --hard~2

git push --force

【修改commit信息】(还没push的情况)

git commit --amend -m "xxxxxx"

gitignore规则不生效的解决办法

【删除本地缓存】

git rm -r --cached . 

git add .

git commit -m 'update .gitignore'

-----------------------------------------------github-----------------------------------------------

ssh-keygen -t rsa -C "729494296@qq.com"                       【创建远程仓库秘钥】

创建完后会有.shh文件夹,里面有id_rsa和id_rsa.pub这两个文件

id_rsa是公开的公钥,id_rsa.pub是自己的秘钥

打开id_rsa.pub 复制全部内容

登陆github.com 在SSH Keys里的 填上title和key

在本地输入

git remote add origin git@github.com:zhenbinjing/(项目名).git 【建立链接通信】

git push -u origin master                                     【将本地的所有文件上传上去。 第一次要加 -u】

git push origin master                                        【以后有新文件直接上传。不加-u了 (推送分支)】

当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.

RSA key fingerprint is xx.xx.xx.xx.xx.

Are you sure you want to continue connecting (yes/no)?

输入yes 就可以了

git clone git@github.com:zhenbinjing/(项目名).git          【从远程复制到本地】

当下载的文件过大的时候会报错,这时就要设置文件大小

error: unable to rewind rpc post data - try increasing http.postBuffer

error: RPC failed;curl 56 Recv failure: Connection reset by peer

fatal: The remote end hung up unexpectedly

fatal: The remote end hung up unexpectedly

git config --global http.postBuffer 524288000

-----------------------------------------------分支-----------------------------------------------

master分支一般不干活的,主要用来发布版本的,所以我们开发的时候会新建一个分支,专门去写代码的,分支可以用来区分不同类型的代码,例如增加新功能的,有bug的,等等

git checkout -b xxx    【创建并且切换到当前分支中】

git branch xxx            【查看当前分支】

git checkout xxx        【切换分支】

git merge xxx            【当前分支与xxx分支合并】

git branch -d xxx       【删除本地xxx分支】

git push origin --delete xxx【删除远程xxx分支】

分支与主分支合并冲突的时候,文件有<<<<<<<,=======,>>>>>>>标记出不同分支的内容,要手动去更改文件,然后add commit

git log --graph                                                       【查看分支合并图(详细)】

git log --graph --pretty=oneline --abbrev-commit  【查看分支合并图(精简)】

git默认是Fast forward模式,在主干上合并分支,如果删除dev分支,是看不见dev分支上的commit,会丢掉分支信息的。

git merge --no-ff -m "merge with no-ff" dev          【不在Fast forward情况下,进行与dev分支合并,并(保留dev下的commit)写入信息】--no-ff

git merge --squash dev                                        【当前分支把dev分支上的所有commit 归纳到一个commit描述】

git stash                 【保存当前工作区的内容】

git stash list           【查看工作区保存的地方】

git stash apply       【恢复工作区内容】

git stash drop        【删除工作区】

git stash pop         【恢复工作区内容后同时删除工作区】

git stash pop = git stash apply + git stash drop

-----------------------------------------------多人协作-----------------------------------------------

git remote            【查看远程库的信息(远程仓库的默认名称是origin)】

git remote -v         【查看远程库更详细的信息(是否有推送的权限)】

git push origin xxx   【推送xxx分支】

【这是在别人的项目中】

一般在别人的项目下载下来后只能看到本地的master分支,所以我们要创建一个自己的分支。例如:

git checkout -b dev origin/dev

写完后(add commit) 

git push origin dev

【这是在自己的项目中】

自己开发完成后,发现提交冲突了,会有好多hint信息,例如:

hint: Updates were rejected because the tip of your current branch is behind

hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')

hint: before pushing again.

hint: See the 'Note about fast-forwards' in 'git push --help' for details.

推送失败:是因为贡献者比你提交早,又在同一行代码上有冲突。

第一步:

git pull 【把最新的提交从(别人的分支)抓下来】

如果抓取也失败了,是因为贡献者建立了他的分支,而你本地又没有这个分支

如果你不知道别人的分支路径,git是会告诉你,例如其中两行和最后一行,例如:

From github.com:michaelliao/learngit

fc38031..291bea8  dev        -> origin/dev

git branch --set-upstream dev origin/

那行我们在本地建立对应的分支就可以了,例如:

git branch --set-upstream dev origin/dev

然后再 git pull 就可以看到冲突的文件了。 

Auto-merging 文件名

CONFLICT (content): Merge conflict in 文件名

Automatic merge failed; fix conflicts and then commit the result.

这是已经pull 成功了

第二步:

修改冲突的文件,然后(add commit)

git push origin dev 

这时应该可以推送成功了

-----------------------------------------------tag-----------------------------------------------

git tag         【创建标签】

git tag 标签名 版本号  例如:

git tag v1.0 af1684d

git tag -d xxx  【删除标签xxx】

git tag -d v1.0

git show v1.0   【查看v1.0对应的版本号等信息】

创建带有说明的标签,用-a指定标签名,-m指定说明文字,例如:

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

git push origin v1.0  【推送一个标签】

git push origin --tags 【推送所有标签】

【删除远程标签】

首先要在本地删除标签,然后再push

git tag -d v0.9

git push origin :refs/tags/v0.9

相关文章

  • svn & git 常用命令(简)2014-12-16

    svn 命令: git 命令: 《pro git》笔记后面梳理

  • Git book

    目录 git community book git入门 git笔记 git 用法 git安装使用手册 git命令大...

  • Git常用命令

    Git命令笔记 ========================================== 下载地址:h...

  • git 入门

    git 入门学习笔记----3个入门命令:git init、git add、git commit -v 学习场景(...

  • 学习笔记

    第一个markdown笔记 git相关 常用git操作命令撤销commit : git checkout [com...

  • Git教程笔记

    笔记20170207:Git教程 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库,分两步:...

  • Git小笔记+PostgreSql设置笔记。

    Git笔记 添加文件到 .gitignore 中命令:echo '.idea/*' >> .gitignore 从...

  • Git学习笔记(廖雪峰)

    Git学习笔记(廖雪峰) 创建版本库 小结 初始化一个Git仓库,使用git init命令。 添加文件到Git仓库...

  • git(分布式版本控制器)学习笔记-廖雪峰

    git(分布式版本控制器)学习笔记-廖雪峰 一、git的安装(服务器端) 二、git常用命令 1.远程仓库相关命令...

  • GIT 笔记一:基本操作

    GIT 笔记一:基本操作 SVN 笔记一:入门 Git已经非常流行,网络上的教程很多。这里做个归纳吧。命令行操作很...

网友评论

      本文标题:git 命令笔记

      本文链接:https://www.haomeiwen.com/subject/ckiyiftx.html