记录些好的git学习资料
同时也记录下自己学习git的笔记
大神的文章 写的很好
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 有money的话 可以赞助点 我也赞助了点 哈哈
http://www.yangzhiping.com/tech/github.html
http://wuyuans.com/2012/05/github-simple-tutorial/
http://www.cr173.com/html/15618_1.html
自己的学习笔记
git init--把目录变成git可以管理的仓库 --eg: git init --初始化本地仓库
git add file --把文件添加到版本库中标记 --eg: git add ./ --添加文件到本地索引中
git commit -m 'some file' --把标记的文件添加到本地版本库中 m--表示消息,即本次提交的文件说明 --eg: git commit -m '添加文件' --commit id 使用sha1算法获得 --提交文件到本地仓库
--工作区 暂存区 本地分支
--通常的操作都是在工作区进行的 在工作区进行操作后 需要add将变化添加到暂存区 然后使用commit将暂存区的变化 全部添加到本地分支中
git remote add origin 远程仓库地址 --添加远程仓库源 --eg:git remote add origin https://github.com/undergrowthlinear/learn.git --添加远程仓库源
git pull origin master --从远程仓库中获取master文件 --eg: git pull origin master --从远程仓库拉取代码到本地仓库
git push origin master --添加本地版本库代码到远程仓库 --eg: git push origin master
--第一次进行推送时 git push -u origin master --从本地仓库推送代码到远程仓库
git remote -v --查看远程仓库的信息
git clone 远程仓库地址 --将远程仓库的地址复制到本地 --eg git clone https://github.com/undergrowthlinear/learn.git --从远程仓库下载代码到本地仓库
git tag --显示所有tag --eg: git tag --显示标签
git tag -a tag名称 --创建tag --eg: git tag -a v10 --创建标签
git tag -a tag名称 -m 标签的备注信息 commit id ----为特定的commit打上标签
git tag -d 标签名 --删除标签
git push origin :refs/tags/标签名 --删除已经推送的标签
git push origin 标签名 --推送标签到远程库 git push origin --tags --推送所有标签
--标签管理 就是指向某个commit id,也是版本库的一个快照,默认为HEAD版本打上标签
git show 标签名 --显示标签的信息
git config --global alias.st status --配置当前用户的命令别名 不加--global 只用于当前仓库
git stash --保存工作区的状态
git stash list --查看保存的工作区列表
git stash pop --恢复列表中第一个工作区
git stash apply 工作区名 --恢复指定保存的工作区
git stash drop 工作区名 --删除保存的工作区
git --help --显示git的帮助信息 --查看帮助信息
git rm file --删除文件从工作树和版本库的索引中 --eg: git rm aa --删除指定文件
git checkout -- file --删除工作区的修改 --eg: git checkout -- remark.txt --用版本库的文件替换工作区的文件
git status --显示本地工作树的状态 查看工作区的状态,查看文件有没有被修改过 --git status --查看文件是否修改过
git diff 文件 --查看文件与提交到版本库中的不同,查看文件修改的内容 --eg:git diff git.txt --查看文件修改内容
git reset --hard head^ --回退到上一版本 --eg: git reset --hard head~100 回退到之前的100版本 --eg: git reset --hard commit id --回退到指定的commit id --回退到指定版本
git reflog --查看每一次的git命令 与git reset 连用 想恢复到那个版本都没有问题啊 --查看命令历史
git log --graph --pretty=oneline --abbrev-commit --显示提交的日志信息 --查看提交历史
git branch --查看分支
git branch 分支名 --创建分支
git branch --set-upstream 本地分支名 origin/远程分支名 --把本地分支与远程分支进行关联
git checkout 分支名 --切换到指定分支名
git checkout -b 分支名 --创建分支 并切换到分支
git checkout -b 本地分支名 origin/远程分支名 --在本地创建和远程一样的分支
git merge 分支名 --合并分支名到当前分支
git branch -d 分支名 --删除分支
git branch -D 分支名 --当分支没有合并时 使用D可以进行强行删除
git merge --no-ff -m 'merge no-ff' dev --不使用快速合并 使用提交合并 可看到提交历史
/**
repository---仓库/版本库
版本控制系统只能追踪文本文件的变化,图片、视频等二进制文件的内容变化是没有办法追踪的,只能追踪其改变的文件大小
集中式版本控制系统--CVS、SVN
分布式版本控制系统--GIT
UNIX哲学--没有消息就是好消息
GIT管理的是修改,而非文件
HEAD指向master,master指向最新的提交
**/
我自己测试的github库
https://github.com/undergrowthlinear/learn.git 包含上面的学习心得和leetcode算法的代码