想学git吗,来这里。

以下内容是本人学习git之后的学习笔记,仅供借鉴参考,真正干货见以下链接:

廖雪峰老师官方博客

尊敬的阮一峰老师官方博客

官方git学习地址

Git中文件的状态周期

  • Untracked:未跟踪(新建文件/删除文件)
  • Unmodified:未修改(commit之后或clone之后的文件)
  • Modified:已修改(编辑文件之后)
  • Staged:已暂存(add之后commit之前)

Git文件所属区域概念解读

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

git 指令学习

1、基本配置

git config --global user.name “your Name” 全局设置你的登陆账号
git config --global user.password “your Password” 全局设置你的登陆密码
git config --global user.email "email@pingan.com.cn" 全局设置你的邮箱
git config --list 查看所有全局配置

注意git config命令的–global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,
当然也可以对某个仓库指定不同的用户名和Email地址。

2、常用命令

madir npm     创建文件夹指令
cd npm           进入指令

pwd                显示当前目录
git init             把目录变成git可以管理的仓库

git add .          把所有修改文件推送到暂存区
git add test.txt    把指定文件推送到暂存区
git add -f test.txt     强制添加文件到暂存区
git commit -m “add title” 把所有暂存区文件添加到仓库

git status     查看当前工作区的状态
git diff         查看工作区和暂存区的对比差异(difference)
git diff – cached     查看暂存区和分支的对比
git diff HEAD – test.txt     查看工作区和版本库里面最新版本的区别

git log         显示从近到远的提交日志
git log --pretty=oneline        单行显示所有提交日志
git log --pretty=oneline 文件名     显示某个文件的所有提交日志
git show [commit时的ID号]     显示某次的修改记录

git reset --hard HEAD^     回退到上一个版本 (HEAD^^回退到上上一个版本,以此类推,HEAD~100往上100个版本)
git reset --hard 3628164     回退到指定的版本,commit时会自动升成一个十六进制id号,一般会很长,可只写前几位

git reflog         显示所有操作仓库的命令历史,可以用git reset + 命令历史ID 方便地回退到特定版本

git rm test.txt         删除工作区中文件
git checkout – test.txt     撤销test.txt文件在工作区的修改或删除,回退到最近一次add、commit或rm时的状态

git push       把本地仓库的最新提交到远程仓库
git pull         把远程仓库的最新版本下载到工作区

3、远程仓库

git remote -v                         查看当前所有远程仓库
git remote rm <远程库名>    解除其中一个远程仓库
git remote add origin git@server-name:path/repo-name.git 添加远程仓库地址

要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone命令克隆。
Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快。

4、分支管理

git branch         查看分支

git branch dev     创建dev分支
git checkout master     切换到master分支
git checkout -b dev     创建dev分支并切换到此分支
git merge dev     合并指定分支到当前分支
git merge --no-ff -m “describe” dev         合并dev分支,并禁用Fast forward

git branch -d dev     删除dev分支
git branch -D dev     强行删除dev分支

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

5、bug分支

git stash         把当前工作区分支“储藏”起来
git stash list     查看‘储藏’的分支

git stash apply        恢复储藏的内容,stash内容并不删除
git stash drop         删除stash内容
git stash pop          恢复储藏并删除

6、多人协作

git remote     查看远程仓库的名称,默认是origin
git remote -V     查看远程仓库的详细信息(没有推送权限就看不到push地址)
git remote add origin git@server-name:path/repo-name.git 添加远程仓库地址
git push -u origin master 将本地仓库推送到远程仓库的主分支上面,第一次推送才加-u

git push origin dev     把dev分支推送到远程分支

git checkout -b dev origin/dev     创建远程仓库origin的dev分支到本地,并进入分支

git branch --set-upstream dev origin/dev     建立本地分支与远程分支的链接关系

git pull         从远程仓库抓取分支到本地工作区

7、合并冲突

git status     查看有哪些冲突文件
git mergetool     通过git默认的合并工具查看冲突的详情代码,也可以通过git config 命令配置第三方的图形化合并工具
git add     通过暂存文件标记为已解决状态
git merge --abort     撤销当前合并
git reset --hard     如果合并完成后又发现了一个错误,可以通过此命令回滚到冲突前的状态

8、标签管理

git tag     查看所有标签
git tag v1.0     给当前分支创建一个v1.0的标签
git tag -a v0.1 -m ‘describe’ 3628164     创建带有说明的标签,-a指定标签名,-m指定说明文字

git show v1.0     显示标签v1.0对应的commit id号所有信息

git push origin v1     推送指定标签到远程仓库
git push origin --tags     推送本地所有标签到远程仓库

git tag -d v1.0     删除本地v1.0标签
git tag origin :refs/tags/v1.0     删除远程仓库的v1.0标签

9、自定义git

工作区根目录下有一个.gitignore 文本文档,里面可以添加要忽略的特殊文件

git config --global alias.st status           设置status的别名,现在可用git st 代替
git config --global alias.co checkout     设置checkout的别名为co
git config --global alias.ci commit         设置commit的别名为ci
git congig --global alias.br branch         设置branch的别名为br
git config --global alias.last ‘log -1’   配置一个git last,让其显示最后一次提交信息

10、权限

ssh-keygen -t rsa -C "youremail@example.com" 生成公钥
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值