一、最小配置
git config --local 针对某个仓库
git config --global 针对当前用户所有仓库(常用)
git config --system 对系统所有用户的仓库都有效
1.1、配置
git config --global user.name "lanxiaobin"
git config --global user.email "lanxiaobin"
1.2、显示config配置 加 --list
git config --list --global
二、创建仓库并配置local用户信息
2.1 创建git仓库
git init gitproject/
2.2 配置local信息
git config user.name "localUserName" --local
三、工作区和暂存区和commit
3.1 从工作区添加到暂存区
echo "readme" > readme.txt
git add readme.txt
3.2 暂存区文件在工作区发生修改,提交到暂存区
git add -u 所有发生改动的暂存区文件都add
3.3 提交到仓库
git commit -m'add file1.txt'
四、重命名
git mv readme.txt readme.md
五、gitlog
5.1只查看第一行log信息
git log --oneline
5.2 --all查看所有分支的提交历史
git log --oneline --all
5.3 查看指定数目的历史 -n4
git log --all -n4 --graph
5.4 可视化
gitk
六、git的tree、blob
6.1 查看文件
find project/ type -f
6.2 查看文件类型
git cat-file -t b8626c4cff
6.3 查看文件内容
git cat-file -p b8626c4cff
七、分支
7.1新建分支
git branch dev
7.2 切换分支
git checkout dev
7.3 新建分支并切换到分支
git checkout -b dev2
7.4 删除分支
git branch -d dev3
八、commit
8.1 修改最近一次commit信息
git commit -m'首次提交'
git commit --amend
8.2 对历史commit修改
git rebase -i 要修改的commit的上一个commit
reword -- 修改提交的message
8.3 合并连续的多个commit为一个
git rebase -i 要合并的commit的上一个commit
squash -- 合并几个commit为一个
8.4 合并不连续的多个commit为一个
...
九、比较
9.1 比较工作区和暂存区文件的差异
git diff fileName
git diff
9.2 比较暂存区和HEAD文件的差异
git diff --cached
9.3 比较不同提交的文件差异
git diff master dev --file3.txt
git diff commit_id1 commit_id2 -- file3.txt
十、恢复
10.1 暂存区恢复跟HEAD一样
所有文件恢复
git reset HEAD
or
git reset HEAD^
部分文件恢复
git reset HEAD file3.txt
10.2 工作区恢复跟暂存区一样
git checkout file3.txt
10.3 清除最近的commit
git log 查看最近提交的commit_id
git reset commit_id
10.4 删除文件
git rm file3
10.5 文件临时保存
git stash
git stash save "message"
查看临时文件列表
git stash list
恢复临时文件
git stash apply
恢复并丢掉临时文件
git stash pop
11、git 备份
哑协议 (bare:不在工作区的裸仓库)
git clone --bare /Users/lanshifu/Documents/极客时间-课程/git三剑客/gitproject ya.git
智能协议
git clone --bare file:///Users/lanshifu/Documents/极客时间-课程/git三剑客/gitproject zhineng.git
跟远端关联
git remote add zhineng file:///Users/lanshifu/Documents/极客时间-课程/git三剑客/backup/gitproject zhineng.git
待续...
12.git pull 每次都要输入密码
到git项目根目录
git config --global credential.helper store
git pull 输入一次密码,以后就会记住了
13.git ssh key 配置
已经配置过cd ~/.ssh
ls
如果没有配置过
ssh-keygen -t rsa -C "邮箱"
一路回车,然后
查看ssh keycat ~/.ssh/id_rsa.pub
复制去github、gitlab等网站
git 浅克隆
$ mkdir models # 创建一个与要clone的仓库同名或不同命的目录
$ cd models
$ git init #初始化
$ git remote add origin https://github.com/tensorflow/models.git # 增加远端的仓库地址
$ git config core.sparsecheckout true # 设置Sparse Checkout 为true
$ echo "research/deeplab" >> .git/info/sparse-checkout # 将要部分clone的目录相对根目录的路径写入配置文件
$ git pull origin master #pull下来代码
如果只想保留最新的文件而不要历史版本的文件,上例最后一行可以用git pull --dpeth 1命令,即“浅克隆”:
$ git pull --depth 1 origin master
git 浅克隆(2)推荐
直接在clone后面加上 -- depth 1
,表示只clone 最后一个commit
git clone --depth 1 https://github.com/Meituan-Dianping/walle.git
网友评论