GIT学习笔记

周末试着写了个博客程序想要部署到PythonAnyWhere上,由于PythonAnyWhere需要git来管理文件,所以就去学习了下git.挺好用的,现在我已经把我所有的程序都在coding.net上远程管理了,酷酷的~~~

本地仓库


创建版本哭

mkdir xxx //新建目录 
cd xxx
git init //把目录变成git可管理的仓库

文件添加到版本库暂存区,并没有提交

git add xx.txt

提交到版本库

git commit -m "" //-m ""添加注释

每次修改,如果不add到暂存区,就不会加入到commit中,就算add后再修改的内容也不会被commit

查看版本库状态

git status //
- 有变动而没添加到版本库:no changes added to commit (use "git add" and/or "git commit -a")
- 有文件添加到版本库但并没有提交 Changes to be committed
- 所有文件都提交到版本库了 nothing to commit (working directory clean)

查看文件与版本库中文件的差别

git diff

查看commit记录

git log
git log --pretty=oneline //用单行显示每条记录

git 中用 HEAD表示当前版本,也就是最后提交的版本,用HEAD表示上一个版本,HEAD^表示上一个版本,HEAD~20表示上20个版本

版本回退

git reset --hard HEAD^

回退后,在git log中就不能看到回退地方之前的记录了,需要使用下面的方法

查看命令历史,以便确定要回到未来的哪个版本。

git reflog

在reflog中找到回退前的commit id 使用下面的命令前进到回退前的版本

git reset --hard 3628164

撤销工作区修改

git checkout -- xx.txt

将xx.txt文件回到最近的一次git commit或者 git add时的状态

撤销暂存区的修改

git reset HEAD xx.txt

从版本哭中删除文件

git rm xx.txt 
git commit -m "remove xx.txt" //还未commit时可以 通过git checkout -- xx.txt 恢复xx.txt

远程仓库


在本地初始化远程仓库

git remote add origin https://git.coding.net/agmcs/oksb.git

推送到远程仓库

git push -u origin master

-u参数 git将会把本地master分支和远程master分支关联起来
相关联后,以后要push修改只需要 git push origin master

从远程库克隆项目到当前目录

git clone https://git.coding.net/agmcs/learngit.git

分支管理


创建分支

git branch dev

切换分支

git checkout dev

直接创建并切换分支

git checkout -b dev

查看当前分支

git branch

当前分支前面会有一个*号

合并某分支到当前分支

git merge dev

删除分支

git branch -d dev

查看分支合并图

git log --graph
posted @ 2015-04-26 19:07  agmcs  阅读(278)  评论(0编辑  收藏  举报