git版本控制工具学习笔记

来源:互联网 发布:手机电子时钟软件 编辑:程序博客网 时间:2024/05/22 04:33

Git是目前世界上最先进的分布式版本控制系统,版本控制是一种记录一个或若干文件内容变化,以便将来查阅待定版本修订情况的系统。
工作区与版本库
工作区
就是你在电脑里能看到的目录
版本库
工作区有一个隐藏目录.git,就是Git的版本库
创建版本库
切换目录位置cd F:/task
显示当前目录位置 pwd
创建respository mkdir (在工作区生成文件夹)
初始化resposity git init//把这个目录变成Git可以管理的仓库
(初始化后,在当前目录下会出现一个名为.git的目录,所有git需要的数据和资源都存放在这个目录中,.git目录,这个目录默认是隐藏的,用ls-ah命令就可以看见。

工作区文件操作

cat //查看当前工作区文件具体内容
git checkout –//其实是用版本库里的最新版本替换工作区的版本
rm //从工作区删除文件

git版本库暂存区操作

git add //添加文件到暂存区
git add -u//只会处理已修改或者已删除的文件,但是不会处理新建的文件
git reset HEAD file//将文件的版本库的最新版本重新放回工作区(已add)

git版本库操作
保存快照到分支:git commit -m “说明” //提交说明,实际上就是把暂存区的所有内容提交到当前分支上
查看快照记录:git log
git reflog //查看每一次commit以及reset,以便查看commit -id
版本回退:
git reset –hard HEAD^

从版本库删除文件:git rm
从远程仓库删除文件:先在工作区删掉,然后git commit -a -m “A file was deleted”,最后git push

文件状态跟踪记录

状态查看:git status
三种状态:
1.untraked file(工作区的文件未被跟踪的文件)
2.changes to be commited(暂存区的文件,将要被提交的修改)
3.changes not staged for commit(没有准备提交的修改或文件之前提交过,然后进行了修改但还为add)

文件修改查看
git diff //查看具体修改内容
git diff HEAD –readme.txt //查看版本库最新版本与工作区最新版本的区别

Git分支
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支,所以分支就是一条commit时间线。
HEAD严格来说不是指向提交,而是指向master,master才是指向提交的,所以,HEAD指向的就是当前分支。
创建分支并切换
git checkout -b
两部完成:
git branch //创建分支
git checkout //切换分支到当前分支
查看分支:git branch
合并分支:
git merge
git merge
删除分支:
git branch -d
git branch -D //强行删除
查看分支合并图
git log –graph
git log –graph –pretty=oneline –abbrev-commit //简化信息
本地分支与远程分支同步
git checkout -b branch-name origin/branch -name//在本地创建和远程分支对应的分支
git branch –set-upstream branch-name origin/branch-name //建立本地分支和远程分支的关联

标签管理
一个版本库保存一个分支master,各自的版本库保存着各自的分支,各自的主分支名称都为master
标签是指向某个commit的指针
git tag commit -id(可选)
git tag -a -m ‘说明’ commit-id(可选)

查看标签:git tag
查看标签信息:git show
删除标签:git tag -d//本地

远程仓库
查看当前远程库列表:
git remote//它会列出每个远程库的简短名字
git remote -v//-v选项,显示对应的克隆地址
git remote show[remote-name]//查看某个远程仓库的详细信息
添加远程仓库
git remote add[shortname] [url]
删除远程仓库
git remote rm [remote-name]
远程仓库重命名
git remote rename [old] [new]

远程操作
git ls-remote//显示获得远程引用的完整列表
git push[remote-name][branch-name]
git remote add origin git@github.com:murphywu/task0001.git
//添加远程仓库origin
git push origin master//实际上是把当前分支Master推送到远程库origin
git push -u origin master //推送到当前分支master

从远程库克隆仓库到本地
git clone git@github.com:murphyuwu/task0001.git

分支的创建与合并
分支创建发生的几件事
1.创建新分支时,新分支会指向现有分支最新的commit对象
2.现有分支在工作区以及暂存区的状态,新分支也拥有同样的状态
3.切换到新分支工作时,会改变之前的状态,并与新分支同步
git stash//保存当前工作现场
git stash drop //删除保存
git stash apply //恢复现场,并删除保存
git stash list //查看保存工作情况