点击上方 "程序员小乐"关注, 星标或置顶一起成长
每天凌晨00点00分, 第一时间与你相约
每日英文
Your life only lasts for a few decades, so be sure that you don't leave any regrets. Laugh or cry as you like, and it's meaningless to oppress yourself.
当幻想和现实面对时,总是很痛苦的。要么你被痛苦击倒,要么你把痛苦踩在脚下。
每日掏心话
人有的时候好正如要烧开一壶水,时间长了,过了头便成了沸水;时间短了火候也不够,不是温水就是被称之为热水,都不能成为开水,不能喝也无益,都不如喝生水来得痛快、简单。
来自:Gafish | 责编:乐乐
链接:gafish.github.io/2019/Git从入门到放不下.html
程序员小乐(ID:study_tech)第 687 次推文 图片来自网络
往日回顾:牛逼哄哄的 Lambda 表达式,简洁优雅就是生产力!
00 前言
01 Git 简介
02 实用主义
git clone
git config
git branch
git checkout
git status
git add
git commit
git push
git pull
git log
git tag
git clone https://github.com/gafish/gafish.github.com.git
git config user.name gafish
git config user.email gafish@qqqq.com
git branch daily/0.0.0
git branch -m daily/0.0.0 daily/0.0.1
git branch -d daily/0.0.1
git checkout daily/0.0.1
On branch daily/0.0.1
Changesnot staged for commit:
(use"git add <file>..." to update what will be committed)
(use"git checkout -- <file>..." to discard changes in working directory)
modified: README.md
no changes added to commit (use"git add"and/or"git commit -a")
git add README.md
Changes to be committed:
(use"git reset HEAD <file>..." to unstage)
git commit -m '这里写提交原因'
git push origin daily/0.0.1
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 267 bytes | 0 bytes/s, done.
Total3(delta 1), reused 0(delta 0)
remote: Resolving deltas: 100% (1/1), completed with1local objects.
To https://github.com/gafish/gafish.github.com.git
* [new branch] daily/0.0.1-> daily/0.0.1
git pull origin daily/0.0.1
commit c334730f8dba5096c54c8ac04fdc2b31ede7107a
Author: gafish <gafish@qqqq.com>
Date: WedJan1109:44:132017+0800
Update README.md
commit ba6e3d21fcb1c87a718d2a73cdd11261eb672b2a
Date: WedJan1109:31:332017+0800
test
.....
git tag publish/0.0.1
git push origin publish/0.0.1
Total0(delta 0), reused 0(delta 0)
* [new tag] publish/0.0.1-> publish/0.0.1
touch .gitignore
demo.html
build/
03 深入探索
git add -i
***Commands***
1: status 2: update 3: revert 4: add untracked
5: patch 6: diff 7: quit 8: help
status:功能上和 git add -i 相似,没什么鸟用
update:详见下方 git add -u
revert:把已经添加到暂存区的文件从暂存区剔除,其操作方式和 update 类似
add untracked:可以把新增的文件添加到暂存区,其操作方式和 update 类似
patch:详见下方 git add -p
diff:比较暂存区文件和本地版本库的差异,其操作方式和 update 类似
quit:退出 git add -i 命令系统
help:查看帮助信息
git add -p
y:接受修改
n:忽略修改
q:退出当前命令
a:添加修改
d:放弃修改
/:通过正则表达式匹配修改内容
?:查看帮助信息
git add -u
git add --ignore-removal .
git commit -m '第一行提交原因'-m '第二行提交原因'
git commit -am '提交原因'
git commit --amend -m '提交原因'
git commit -C HEAD
git mv a.md b.md -f
git rm b.md
git rm src/ -r
git status -s
M demo.html
?? test.html
git status --ignored
git branch -a
git branch -r
git branch -D
git branch -vv
git merge --squash
git merge --no-ff
git merge --no-edit
git checkout -b daily/0.0.1
git checkout HEAD demo.html
git checkout --orphan new_branch
git checkout -p other_branch
git stash
git stash list
git stash show stash@{0}
git stash drop stash@{0}
git stash pop
git stash apply stash@{0}
git stash branch new_banch
git stash clear
git stash create
git stash store xxxxxx
$ git stash create
09eb9a97ad632d0825be1ece361936d1d0bdb5c7
$ git stash store 09eb9a97ad632d0825be1ece361936d1d0bdb5c7
$ git stash list
stash@{0}: Created via "git stash store".
git log -p
git log demo.html
git log --since="2 weeks ago"
git log --before="2 weeks ago"
git log -10
git log f5f630a..HEAD
git log --pretty=oneline
git log --pretty=format:"%h"
%H:commit hash
%h:缩短的commit hash
%T:tree hash
%t:缩短的 tree hash
%P:parent hashes
%p:缩短的 parent hashes
%an:作者名字
%aN:mailmap的作者名
%ae:作者邮箱
%ad:日期(–date= 制定的格式)
%ar:日期,相对格式(1 day ago)
%cn:提交者名字
%ce:提交者 email
%cd:提交日期(–date= 制定的格式)
%cr:提交日期,相对格式(1 day ago)
%d:ref名称
%s:commit信息标题
%b:commit信息内容
%n:换行
git cherry-pick 170a305
git reset --mixed <commit>
git reset --soft <commit>
git reset --hard <commit>
git rebase branch_name
git rebase -i HEAD~~
pick 9a54fd4添加commit的说明
pick 0d4a808添加pull的说明
# Rebase 326fc9f..0d4a808 onto d286baa
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
git revert HEAD
git revert HEAD --no-edit
git revert -n HEAD
git diff --stat
test.md | 1-
1 file changed, 1 deletion(-)
git remote -v
git remote add origin https://github.com/gafish/gafish.github.com.git
git fetch origin daily/0.0.1
git blame -L 1,10 demo.html
git bisect start
git bisect bad
git bisect good
git bisect reset
git submodule add https://github.com/gafish/demo.git demo
git submodule update demo
git archive -v --format=zip v0.1> v0.1.zip
04 总结
欢迎在留言区留下你的观点,一起讨论提高。如果今天的文章让你有新的启发,学习能力的提升上有新的认识,欢迎转发分享给更多人。
欢迎各位读者加入程序员小乐技术群,在公众号后台回复“加群”或者“学习”即可。
猜你还想看
阿里、腾讯、百度、华为、京东最新面试题汇集
超燃!支付宝技术双11纪录片《一心一役》全球独家首发
Facebook陷入史上最大危机:近7000页机密文件泄露!
如何准备Java初级和高级的技术面试
文章有问题?点此查看未经处理的缓存