码迷,mamicode.com
首页 > 其他好文 > 详细

git笔记

时间:2015-11-29 21:16:08      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

创建版本库
git init
eg:cd /opt && mkdir gitdir && cd gitdir && git init

此时gitdir就已经被初始化为一个空的仓库了
ls -a 可以看到有一个.git的隐藏目录,里面包含了项目文件修改情况,千万别修改或删除
我们可以把存在的项目拷贝进这个目录 然后就可以实用git来控制了

eg: touch new.py
现在我们在这个目录下新建了一个文件 但是这个文件还没有进入版本库
把文件送进版本库需要两步
把文件送进暂存区
git add filename  (可以添加多个文件到暂存区)
把暂存区的所有文件提交到版本库
git commit -m " description "
显示最近提交日志
git log
查看当前版本库状态
git status
当你新建文件  或者修改了文件还没有commit  status会告诉你
你新增了文件但是还没有添加到版本库 或者你修改了一个文件 但是还没有add到暂存区
或者你有文件在暂存区 但是还没有commit
查看当前修改的文件和版本库里面文件的差异
git diff [filename]

git reset --hard HEAD^
git reset --hard HEAD~100

git reset --hard 3628164

git reflog

git diff HEAD -- readme.txt

git checkout -- file可以丢弃工作区的修改

git reset HEAD file可以把暂存区的修改撤销掉

删除文件
rm filename
git rm filename
git commit filename

绑定远程github账户
在 ~/.ssh/下生成ssh私匙和公匙
ssh-keygen -t rsa -C "youremail@example.com"
将生成的id_rsa.pub内容复制到github上绑定

在github上创建一个空的项目
接下来把本地的git仓库同步到github上
git remote add origin git@github.com:codeab/study.git
把本地的仓库推送到github
git push -u origin master   (第一次提交加上参数u)

最好的情况是 我们先在github上创建仓库 然后克隆到本地
git clone git@github.com:codeab/study.git

git checkout -b dev 创建并切换分支

git branch 查看当前所有分支

git checkout master  切换分支

git merge dev 把dev分支合并到当前分支  

git branch -d dev  删除dev分支

因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,
合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。

合并冲突: 如果要合并的两个分支上的文件内容不一样
就会出现冲突  解决的办法是把一个分支上的文件改成和另一个文件一样才能合并

git merge --no-ff -m "merge with no-ff" dev
(产生记录的普通合并)

git remote -v  显示远程库信息
git push origin master  推送到远程的master分支

git push origin dev  推送到远程的dev分支

从远程库clone时,默认情况下,只能看到本地的master分支。可以用git branch 查看

要在dev分支上开发,就必须创建远程origin的dev分支到本地
git checkout -b dev origin/dev

git pull 推送当前分支到远程对应的dev分支(推送前看下一步)
git branch --set-upstream dev origin/dev
(指定本地dev分支与远程origin/dev分支的链接)

×××××将远程仓库的最新代码更新到本地×××××××

git fetch origin master:temp
从远程的origin仓库的master分支下载到本地新建一个分支temp
git diff temp
比较master分支和temp分支的不同
git merge temp
合并分支
git branch -d temp
删除temp分支

××××××××××××××××××××××××××××××××××××

git tag v1.0  在当前分支上打标签
git tag 查看所有标签

git tag v0.9 6224937  给指定的commit id打标签

git tag -d v0.1  删除标签
git push origin v1.0  把某个标签推送到远程

git push origin --tags  推送所有标签到远程

git push origin :refs/tags/v0.9  删除远程标签

自定义git
git config --global color.ui true

忽略特殊文件
.gitignore  
https://github.com/github/gitignore

配置别名
git config --global alias.st status

eg:git config --global alias.lg "log --color --graph
--pretty=format:‘%Cred%h%Creset -%C(yellow)%d%Creset %s
%Cgreen(%cr) %C(bold blue)<%an>%Creset‘ --abbrev-commit"

配置文件
cat .git/config

git笔记

标签:

原文地址:http://www.cnblogs.com/codeAB/p/5005267.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!