git学习笔记

一 最小配置

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

十一 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

待续…

十二 git pull 每次都要输入密码

到git项目根目录

git config --global credential.helper store

git pull 输入一次密码,以后就会记住了

13.git ssh key 配置

cd ~/.ssh
ls

在这里插入图片描述
如果没有配置过

ssh-keygen -t rsa -C "邮箱"

一路回车,然后

cat ~/.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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值