git笔记


1. Git基本配置

git config可以配置git的参数,可以使用git config --list查看已经配置的git参数。其中有三个级别的保存位置,--system、--global、--local,分别表示所有用户(本系统)、当前用户(全局)、本地配置(当前目录),默认使用--local。

配置用户名和邮箱:

git config --global user.name "gaoky"

git config --global user.email "xxx@163.com"

创建本地git仓库

git init //把当前目录交给git管理,创建git仓库

克隆git仓库

git clone https://git.oschina.net/Tocy/SampleCode.git

提交更新操作

Git文件状态:committed或Unmodify(文件已入库 - 未修改)、staged(暂存)、modified(已修改),Untracked(未被git管理)

查看文件状态

git status

把未管理文件加入到暂存区,把修改文件加入暂存区(只有暂存区的文件会被提交)

git add xxx.class //如果文件rm之后没有修改直接add,会直接commit。

git add -A  暂存所有变化

git add -u  暂存被修改(modified)和被删除(deleted)文件,不包括新文件(new)

git add .  暂存新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件

从git仓库和本地中移除文件(本地文件变为unmodified)

git rm xxx.class //删除版本库中的索引

--cached //删除文件在版本库和暂存区索引,不删本地

检出某个文件覆盖本地(本地和仓库一致 - unmodified状态)

git checkout xxx.class

文件的修改从暂存区移除(文件delete操作提交到暂存区无法checkout对应文件)

git reset HEAD xxx.class

提交文件

git commit  -m "测试提交" //提交暂存区的变更

git commit -a -m "测试提交" //提交当前目录所有修改(不包括untracked)

git push origin 分支名 //提交内容推送到远端

拉取远端分支(Pull默认会支持Fetch和merge的操作,Fetch拉取远程分支在本地创建分支,clone为远程repo的活动分支创建一个本地分支以及远程跟踪分支)

git fetch origin 远程分支名:本地分支名 //把远程分支拉取一份到本地

git clone url //拉取新项目

git pull origin 分支名 //拉取并合并,可以做更新

分支操作

git fetch //取回所有分支的更新

git branch //列出远程分支(-r),所有分支(-a)

git branch name //创建一个本地分支

git checkout (branchname) //分支切换

git push origin branchName //把分支同步到服务器

git push origin –delete 分支名 //删除服务器远端的分支

git branch –d 分支名 //删除本地分支(检查是否和上游分支合并)

git branch –D 分支名 //删除本地分支(不检查,直接删除)

git merge branchName //把branchName分支合并到当前分支

储藏操作

git stash save "备注信息" //将修改存储到暂存区,工作区会删除这些修改

git stash show //显示暂存区保存的版本信息

git stash list //按保存时间倒序列出储藏栈

git stash pop //弹出最新暂存区修改到工作区

git stash apply  “stash名字”(如stash@{1})指定恢复哪个stash到当前的工作目录。

git stash drop  “stash名字” //删除指定暂存区修改

git stash clear //清空所有暂存区修改

查看仓库url

git remote show origin

标签

git tag 标签名 commit-log的sha1值 //给某个提交打标签(不加shaq值为默认最新的一次提交)

-m 标签备注 //给标签添加备注信息

-d //删除标签(git tag -d 标签名)

git checkout 标签名 //切换到当前标签

git show 标签名 //查看标签

版本回滚

git reset 提交的sha1值 //回滚到某个提交

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Git 是目前最流行的分布式版本控制系统之一。 版本控制指的是,记录每次版本变更的内容和时间等细节,保留各版本之间...
    神齐阅读 1,473评论 0 7
  • 最近使用Git时感到有些生疏,所以利用晚上空余时间将廖雪峰Git教程重新系统的学习一边并做了笔记,温故知新。 Gi...
    LannisZheng阅读 695评论 1 3
  • 一.Git简介 Git是世界上最先进的分布式版本控制系统,相对于SVN这样的集中式版本控制系统,Git不需要“中央...
    ahuustcly阅读 743评论 0 0
  • 对于一个新的包括submodule的项目调用以下命令即可 或者 配置 首先是配置帐号信息 ssh -T git@g...
    brownfeng阅读 496评论 0 0
  • 还好,前两部分均通过审核。 以下接昨天: 3 这几天,某上市公司董事长王某某性侵9岁女童的新闻上了热搜。 为此,上...
    莹光灼华阅读 444评论 3 8