美文网首页学习
git三剑客学习笔记

git三剑客学习笔记

作者: 蓝师傅_Android | 来源:发表于2019-03-05 10:49 被阅读0次

一、最小配置

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 "邮箱"

一路回车,然后

cat ~/.ssh/id_rsa.pub

查看ssh key

复制去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

参考:
https://zhuanlan.zhihu.com/p/57390306

相关文章

  • Git

    玩转Git三剑客 学习笔记 配置 user 信息 显示 config 的配置,加 --list 建 git 仓库 ...

  • Git-07: 用 Git log 查看版本

    李文轩 2019-02-19声明:这是本人学习极客时间的Git三剑客的笔记,有侵权请联系我。 常用 git log...

  • Git-10: commit、tree、blob

    李文轩 2019-02-22声明:这是本人学习极客时间的Git三剑客的笔记,有侵权请联系我。 Git 的存储机制(...

  • Git-05: 工作区与暂存区

    李文轩 2019-02-18声明:这是本人学习极客时间的Git三剑客的笔记,有侵权请联系我。 Git 主要分成3个...

  • Git-06: Git 重命名文件

    李文轩 2019-02-18声明:这是本人学习极客时间的Git三剑客的笔记,有侵权请联系我。 在 Git 仓库里重...

  • Git-03: 使用Git的最小配置

    李文轩 2019-02-07声明:这是本人学习极客时间的Git三剑客的笔记,有侵权请联系我。 添加配置: 查看配置...

  • Git-09: .git目录

    李文轩 2019-02-22声明:这是本人学习极客时间的Git三剑客的笔记,有侵权请联系我。 HEAD:当前指向的...

  • Git-12: 分离头指针 detached HEAD

    李文轩 2019-02-23声明:这是本人学习极客时间的Git三剑客的笔记,有侵权请联系我。 分离头指针的特性:没...

  • Git-04: init 仓库

    李文轩 2019-02-08声明:这是本人学习极客时间的Git三剑客的笔记,有侵权请联系我。 init 仓库有两种...

  • git三剑客学习笔记

    一、最小配置 git config --local 针对某个仓库git config --global 针对当前...

网友评论

    本文标题:git三剑客学习笔记

    本文链接:https://www.haomeiwen.com/subject/ldknuqtx.html