参考文章:http://www.liaoxuefeng.com/的GIT教程
另外一个小白的教程问题,可以随便看看http://www.cnblogs.com/visi/archive/2011/09/07/2169938.html
装完git软件可以设定全局用户名以及邮箱
$ git config --global user.name "Your Name" $ git config --global user.email "email@example.com"
所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
$ mkdir learngit $ cd learngit $ pwd #显示目前所在位置 $ git init 开启git项目模式
$ git status 查看仓库的当前状态
$ git diff [path] 查看文件被修改了哪些,似乎得在提交前才会有输出内容
$ git log 查看commit的情况
$ git log --pretty=oneline 将commit情况给简化为一行一行,看起来舒服
$ git reset --hard HEAD^ HEAD表示当前版本,HEAD^表示上个版本,这命令的含义是恢复到上个版本
$ git reset --hard HEAD^^ 恢复到上上个版本
$ git reset --hard HEAD~100 往上前一百个版本
$ git reset --hard 13123123123 commit的编号
$ git reflog 如果git log没有最新版本的记录,可以用这个记录
$ git add . 就是把修改的文件或者添加的文件放在暂存区
$ git commit 把所有暂存区的所有修改一次性保存到分支里
每次修改,如果不add到暂存区,那就不会加入到commit中。
$ git checkout -- [path] 把[path]文件在工作区的修改全部撤销1.如果还没有add命令,则到上一个commit的状态
2.如果在add命令之后,则到上一个add的状态
3.如果要回到add命令前的状态,就用git reset HEAD readme.txt来把暂存区的内容去掉,然后再实行这个命令
$ git rm [path] 再commit 直接从版本库里删掉 删错了,可以用 $ git checkout -- test.txt 函数来补救
再来就是在github主页新建一个项目,然后
要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git; 关联后,使用命令git push -u origin master第一次推送master分支的所有内容; 此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;
创建删除合并分支
查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git checkout -b <name> 合并某分支到当前分支:git merge <name> 删除分支:git branch -d <name>
在master分支下(不能在当前分支下删除当前分支)删除远端库的分支dev
git push origin --delete dev
一般merge比较流畅的话,就是Fast-forward模式,比如本来是master分支(状态1:之前add并commit了的状态),然后创建并切换到dev模式并改写添加提交(状态2:现在在dev分支把原来从master继承下来的初始状态1改写,又addcommit了)
这里merge的效果就是master的状态1直接就是dev的状态2
然后就可以删除掉本地的dev分支,再删除远端库的dev分支
如果我创造了dev分支,并状态2,我又checkout回branch状态1,再修改addcommit,此时是状态3.接着我再merge的话,就麻烦了,直接告诉我问题出来了
status看看是那些文件冲突了,再看看文件
Git会用<<<<<<<
,=======
,>>>>>>>
标记出不同分支的内容
于是我们开始干活,解决掉冲突内容,再addcommit掉,此时是状态4,仍然在master分支下,而dev1分支还是保持在状态2
$ git log --graph --pretty=oneline --abbrev-commit
此时可以用这个命令来看合并图
=====2014/12/14 git目前就学到这了,我感觉学得差不多了,解决掉ph-pages分支应该没咋问题了,至于怎么跟别人合作问题等我对项目感兴趣再提交吧=====
ssh -T git@github.com
连上github
下载github代码到本地:
git clone git@github.com:zhko11993/zhko11993.github.io
cd到目标项目里
添加文件 :git add .
提交缓存 :git commit -m '提交';
提交到远程GitHub仓库 : git push -u origin master ;-u的zuo是作用是关联到远程库
mac
让.DS_Store不上传http://bmanlog.sinaapp.com/?p=32
对于使用git的情况:
增加.DS_Store到库的顶层目录下.gitignore文件
然后git add .gitignore
Git commit –m “.DS_Store remove”
全局配置方法:
Git config —global core.excludesfile = /path/to/.gitignore
然后配置这个.gitignore文件就像配置项目目录下的.gitignore文件一样
这里采用的办法是 http://blog.csdn.net/qq61394323/article/details/23783829