程序员成长计划程序员编程语言爱好者

Git读书笔记

2016-10-16  本文已影响129人  im宇

写在前面:
这是一篇菜鸟的学习笔记,记录git的相关知识点。浮光掠影,浅尝辄止。

之前为了在简历上能写些版本控制工具的使用技能,百度了许久硬生生地把一个工程上传到GitHub,仅仅把GitHub当作网盘来使用 (′`〃)。然而只知其然不知其所以然,那些add、commit是怎么回事,完全不清楚。果然几个月过后还是忘记如何上传项目。始终觉得学习就应该系统学,至少要有个整体的把握。这篇文章是我在看Git详解以及结合百度所记录的学习笔记。(目前只是看了前几章)

一、Git基本概念:

二、Git工作流程:

三棵树流程.png

三、文件的生命周期

File Status Lifecycle.png

四、Git几大操作流程

来自一篇博客.png

五、简单命令

git init
git clone [url]
git status
git add [filename]
git diff
git diff -- cached

-提交更新

git commit
或者
git commit -m '提交的说明注释'
git commit -a
git rm [filename]
git rm -- cached [filename]
git mv [file_name_from] [file_name_to]
git log
我们常用-p 选项展开显示每次提交的内容差异,用-2 则仅显示最近的两次更新:
git log -p -2
git reflog
git commit --amend
具体过程
git commit -m 'commit'                      第二次提交
git add [forgotten_file]                       修正第一个
git commit --amend
git checkout -- [filename]
git remote
git remote -v                     详细信息
git remote add [you take a nickname] [url]
git push [remote_name] [branck_name]
如果在你推送数据前,已经有其他人推送若干更新,那你的推送将被驳回。
你必须先把它们的更新抓取到本地,合并到自己的项目中,才可以再次推送。
git fetch [remote_name]
git tag -a [v1.4] -m 'my version 1.4'
git tag
或者
git tag -l 'v1.4.2.*'
git show [v1.4]
git branch [name]
仅仅是建立一个新分支,不会自动切换到该分支中去
git checkout [name]
git branch -d [name]
ssh-keygen
git fetch origin
git merge orign/master
git push origin master
当修改代码后发现已经有人改动其他代码,需要先fetch再merge后才push
git clone /opt/git/project.git
或
git clone file://opt/git/project.git
git reset --hard <commit ID号>
参数的“hard”使工程目录都回滚,还有其他参数,现在还不会使用

六、更多命令行可以看看这篇文章

来自网络.jpg

抛砖引玉

上一篇 下一篇

猜你喜欢

热点阅读