欢乐玩转GIT 讲师:FREE http://my.csdn.net/huangjinjin520 QQ:515768476
第十节: git的常用命令之【git add、git commit和git push】 1、把文件添加到版本库 touch file git add <file> # 将工作文件修改提交到本地暂存区 git add . # 将所有修改过的工作文件提交暂存区 一次可以add多个不同的文件,以空格分隔: git add a.txt b.txt c.txt git 错误 fatal: This operation must be run in a work tree 由于git init –bare 方法创建一个裸仓库,在该仓库无法进行任何git操作,所以抛出错误. 解决方法:在该仓库目录下,新建文件夹,进入该文件夹,执行如下命令:git init
git commit -m "wrote a readme file“ 3、git push 将本地仓库的更改推送到远程服务器的仓库 http://www.cnblogs.com/abeen/archive/2010/06/17/1759496.html git config receive.denyCurrentBranch ignore [Linux] Git: push 出错的解决 master -> master (branch is currently checked out) 在使用Git Push代码到数据仓库时,提示如下错误: [remote rejected] master -> master (branch is currently checked out) remote: error: refusing to update checked out branch: refs/heads/master remote: error: By default, updating the current branch in a non-bare repository remote: error: is denied, because it will make the index and work tree inconsistent remote: error: with what you pushed, and will require 'git reset --hard' to match remote: error: the work tree to HEAD. remote: error: remote: error: You can set 'receive.denyCurrentBranch' configuration variable to remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into remote: error: its current branch; however, this is not recommended unless you remote: error: arranged to update its work tree to match what you pushed in some remote: error: other way. remote: error: remote: error: To squelch this message and still keep the default behaviour, set remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'. To git@192.168.1.X:/var/git.server/.../web ! [remote rejected] master -> master (branch is currently checked out) error: failed to push some refs to 'git@192.168.1.X:/var/git.server/.../web' 这是由于git默认拒绝了push操作,需要进行设置,修改.git/config添加如下代码: [receive] denyCurrentBranch = ignore 在初始化远程仓库时最好使用 git --bare init 而不要使用:git init 如果使用了git init初始化,则远程仓库的目录下,也包含work tree,当本地仓库向远程仓库push时, 如果远程仓库正在push的分支上(如果当时不在push的分支,就没有问题), 那么push后的结果不会反应在work tree上, 也即在远程仓库的目录下对应的文件还是之前的内容,必须得使用git reset --hard才能看到push后的内容.
THANKS 本课程由FREE提供 CSDN网站:www.csdn.net 企业服务:http://ems.csdn.net/ 人才服务:http://job.csdn.net/ CTO俱乐部:http://cto.csdn.net/ 高校俱乐部:http://student.csdn.net/ 程序员杂志:http://programmer.csdn.net/ CODE平台:https://code.csdn.net/ 项目外包:http://www.csto.com/ CSDN博客:http://blog.csdn.net/ CSDN论坛:http://bbs.csdn.net/ CSDN下载:http://download.csdn.net/