git
来源:互联网 发布:shell脚本与python 编辑:程序博客网 时间:2024/09/21 08:18
简介
最开始用git bash
一段时间后用cygwin
推荐oh-my-zshq github
第一步
mkdir test//创建test目录
- git init xxx//初始化git目录,开始跟踪
会出现一个.git目录,里面关键的文件夹有HEAD hooks objects
同.git同目录下创建一个txt文件
- git add .
- git status//查看是否在提交的列表中,有New file就存在
- git commit -m”xxxx”//git提交,-m后是提交的描述(m是message的意思)
当前目录下往上递归找.git目录找的是最近的那个,通过.git文件夹进行版本控制
git config各命令参数的
- git config
- git config -global user.name
第一个是全局的(用户级别的),第二个是系统的(所有人可用),第三个是local(当前项目可以用到)
-git hist//查看历史提交记录
暂存区
提交任务在git的官方称为暂存区
提交前必须要先git add。然后再git commit -m “xxx”
如果不用add即必须用-a:-git commit -a -m”xxx”。不推荐用,因为少了add的步骤,不能回到过去的版本。
- git log //可以看一系列的提交的记录
- git diff//根据当前最近保存的使用了add的命令的workspace做对比,检查出差异
- git checkout .//检出,将版本库覆盖本地,前提是没有任何的add操作
- git diff head//
三个状态,第一个是版本库,第二是改动后再add了,第三是add之后又改了,但是没有add只是保存了。
输入-git status -s
出现MM a.txt
第一个M:版本库和中间状态有差异(版本库和add之后)
第二个M:工作区和当前文件有差异(add之后和现在有差异)
add之后再用git -diff 出来的是add和和现在文件的差异
- git -reset head//是撤回add之后的但是还没有commit的东西
然后在git checkout .就全部回滚了
head是当前版本库master的最后一个commit,是暂存区和最后一次commit的提交
- git diff -cached//暂存区和head
- git branch //查看当前的分支分支
- git branch dev//创建一个分支dev,dev是一个branch,自己取得分支的名字
- git checkout dev//切换到dev分支上
- git stash//把当前的进度保存了,如果再转到其他分支,然后在转回来这个内容不会变,否则在切换回来就没了.
- git stash pop//再次恢复
- git stash apply stash@{1}//就可以将你指定版本号为stash@{1}的工作取出来,当你将所有的栈都应用回来的时候,可以使用
- ‘git stash clear’来将栈清空。
- git tag -a -m//我们创建一个带说明的标签,用-a指定标签名,-m指定说明。
- git log –pretty=raw –graph
head意思就是指向当前分支,并不是master分支
不按数字排序是因为可能会版本冲突
重置
- git reset//重置
如果修改某个文件(没有git add,但是已经提交了),想撤销这次修改
- git checkout a.txt
如果修改某个文件(已经git add),加入了暂存区中,想撤销这次修改
- git reset a.txt
如果修改了某几个文件,但是想撤销到某个版本,但是当前暂存区的,工作区的不想撤销
- git reset –soft commited(版本号)
如果修改了某几个文件也提交到了暂存区,想撤销到某个commit
- git reset –hard commited xxx (版本号)
git reflog show xxx(分支的名字) //显示所有提交日志的版本号
git reset –hard xxx@{yyy}//回滚到版本号
头指针
- head当前在哪个分支,head指的就是那个分支
假设做了三次提交,现在想回到第二个版本修改,然后合并回来(改变历史)
- git checkout (id)//
- git reflog show master中的ID
- git reflog -1//表示列出的是第一条
- git cat file -p HEAD
git cgeckout的用法
- git merge 分支的名字//合并
- git branch -d 分支的名字//删除分支
- git push orgin master//提交
- git checkout .//对当前文件
- git checkout file//特定的文件
- git checkout 目录
- git
- git
- Git
- Git
- Git
- Git
- git
- git
- Git
- GIT
- git
- GIT
- Git
- git
- git
- Git
- GIt
- git
- leetcode 53. Maximum Subarray DP+最大子串和
- 进入DOS世界
- Docker+Gogs搭建个人Git服务
- PAT练习题002
- 使用json-lib将Java对象转json死循环问题
- git
- 重新编写IT笔记
- dfs+数学? 单
- #NOIP模拟赛#吃糖果candy(缩小选边范围--mod区间)
- AppiumLibrary常用关键字
- 9.2题解
- virsh 查看cpu架构,以及guest vm numa应分配架构
- hdu6185 Covering (递推+矩阵快速幂)
- 搬瓦工vps+ss+ipv6+校园网免流量上网