如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:
git push --force origin master
报错! [rejected] master -> master (fetch first);
正确的解决方法就是将你的仓库和你的gitee合并了,用填充的方法,即:
git pull --rebase origin master
输入上述命令,其中origin代表你的仓库uri,后面的master表示将当前的提交到本地仓库的内容和远程仓库合并;
再输入如下命令,即可将本地仓库推送到远程仓库:
git push origin master
查看远程关联
git remote -v
删除远程关联
git remote rm origin
提示create mode 100644
git config --add core.filemode false
git--指定不上传的文件夹
1.文件夹内右键git bash,输 touch .gitignore,注意中间有空格。
2.编辑器打开生成的 .gitignore 文件,加入:
node_modules
unpackage
.hbuilderx
.ftp
忽略具体的文件或文件夹:
/target/ // 忽略这个target 目录
log/* // 忽略log下的所有文件
css/*.css // 忽略css目录下的.css文件
将本地的仓库关联到github上
git remote add origin https://gitee.com/XXX/XXX.git
上传代码到github远程仓库
git push -u origin master
执行完后,如果没有异常,等待执行完就上传成功了,中间可能会让你输入Username和Password,你只要输入github的账号(非汉字那个)和密码就行了.
第一次上传有可能会遇到push失败的情况,那是因为跟SVN一样,github上有一个README.md 文件没有下载下来 。我们得先
git pull --rebase origin master ,然后执行git push -u origin master 就可以成功啦
有时忘了设置.gitignore,暂存区有很多不需要上传的
清空 git 缓存
git rm -r --cached .
然后重新
git add .
git commit -m 'update .gitignore'
读了下 git 文档,才发现,这些东西其实很简单,很容易理解。cached 其实就是暂存区,然后一个是工作的目录,你的工作目录的东西做出修改时,会和缓存区进行对比,因此你 git status 时,会显示出来这个差异,因此为了使. gitignore 中的内容生效,那么就删除掉暂存区,然后将所有本地文件追踪一下,就得到最新的暂存区文件。
关联远程仓库时报错
fatal: remote origin already exists.
可以用git remote -v 查看远程库信息
origin https://gitee.com/xxx/xxx.git (fetch)
origin https://gitee.com/xxx/xxx.git (push)
git remote rm origin(删除关联的origin的远程库)
进行git操作的时候出现Already up to date.问题有两种情况
一、当前分支的文件和远程仓库的文件不统一,这时候就需要将远程仓库的文件同步到本地仓库后再merge
git pull origin 分支名 # 更新本地仓库数据
git merge 要合并的分支名 # 重新合并分支
git push origin 远程分支名 # 提交合并后的数据
二、本地仓库有新增的文件没有add和commit
git add .
git commit -m "描述信息"
git merge 要合并的分支名 # 重新合并分支
git push origin 远程分支名 # 提交合并后的数据
git 撤销,放弃本地修改
git checkout -- filepathname
git checkout -- readme.md
git checkout .
git checkout -- filepathname (比如: git checkout -- readme.md ,不要忘记中间的 “--” ,不写就成了检出分支了!!)。放弃所有的文件修改可以使用 git checkout . 命令。
此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。
已经使用了 git add 缓存了代码
可以使用 git reset HEAD filepathname (比如: git reset HEAD readme.md)来放弃指定文件的缓存,放弃所以的缓存可以使用 git reset HEAD . 命令。
此命令用来清除 git 对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了如(一)所示的状态。继续用(一)中的操作,就可以放弃本地的修改。
已经用 git commit 提交了代码
可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。此命令可以用来回退到任意版本:git reset --hard commitid
你可以使用 git log 命令来查看git的提交历史。
git commit直接回车也是可以提交暂存的,只不过输入提交信息的时候是通过调用vim编辑器进行信息编写的。还有就是vim编辑器支持信息回车。
几个简单的小命令。
i 插入文字的命令。窗口最一开始打开时是不能输入的。按一下 i 就可以开始输入我们的提交信息啦!
输入完了怎么保存退出呢?
先按一下Esc,退出输入状态。
w 保存命令。将我们输入的提交信息保存。保存完之后,
q 退出窗口。就回到我们最开始的命令界面啦。
git commit -a -m ‘提交信息’
我们知道-m参数是输入提交信息的,-a 参数就是可以把还没有执行add命令的修改一起提交。