赞
踩
git init ,会在本地目录下生成一个.git文件夹,表明此项目已被git管理。
git clone :克隆远程仓库或者与远程仓库建立链接
git clone 远程仓库地址
git remote add:连接远程仓库
git remote add origin 远程仓库地址
git status : 查看本地仓库的状态
git branch : 查看仓库有哪些分支
git checkout : 切换或新建分支
#创建dev分支并切换到该分支下
git checkout -b dev
#切换到master分支
git checkout master
新建分支后要想远程仓库也生成该分支,
可立即用如下命令关联远程分支,关联后远程仓库就会生成这个分支。
git push --set-upstream origin dev
git add : 添加改动
#添加指定改动文件
git add 文件名
#添加所有改动文件
git add .
git commit : 将add的文件提交到本地仓库
git commit -m "注释"
#如果commit注释写错了,只是想改一下注释,只需要:
git commit --amend -m "新注释"
git push : 将本地仓库推送到远程仓库
git push origin 分支名
以将dev分支合并到marter分支为例:
git checkout master
git pull origin master
git merge dev
git status
//显示你有1个commit,需要push到远程master上
$ git status
On branch master
Your branch is ahead of ‘origin/master’ by 1 commits.
(use “git push” to publish your local commits)
nothing to commit, working tree clean
git push origin master
我们在使用git命令的时候,有时候误输入命令,导致需要回退到之前的状态。现在针对这种情况做一个汇总:
git status 先看一下add中的文件,确定已经添加的文件。
git reset HEAD 如果后面什么都不跟的话,就是add已添加的全部撤销。
git reset HEAD xxx.cpp 只撤销所列出的文件。
git reset HEAD~1
注意:仅仅是撤回commit操作和撤回git add . 操作,您写的代码仍然保留
HEAD~1 表示的是最顶上的一个版本,或者也可以写成 HEAD^
如果你进行了2次commit,想都撤回,可以使用 HEAD~2 或者 HEAD^~1
# --mixed 默认参数,不删除工作空间改动代码,撤销commit并且撤销git add .
git reset --mixed HEAD^
或者
git reset HEAD^
# --soft 不删除工作空间改动代码,撤销commit,不撤销git add .
git reset --soft HEAD^
# --hard 删除工作空间改动代码,撤销commit,撤销git add .
git reset --hard HEAD^
git checkout [分支名] 切换到需要回退的分支
git log 查看提交记录
git reset --hard 代码回退
git reset --hard [commit id] 复制最近提交的上一条提交记录的commit id
git review 重新提交修改
git reflog 先查看本地提交操作编号。
找到提交前的项目编号,执行:git reset --hard 项目编号
git cherry-pick --abort.
remote: Powered by GITEE.COM [GNK-6.4]
remote: error: File: 51237645d622455060faa0fbcd1b6074f192d673 116.58 MB, exceeds 100.00 MB.
remote: Use command below to see the filename:
remote: git rev-list --objects --all | grep 51237645d622455060faa0fbcd1b6074f192d673
remote: Please remove the file from history and try again. (https://gitee.com/help/articles/4232)
按照提示找到那个超大的文件
git rev-list --objects --all | grep 51237645d622455060faa0fbcd1b6074f192d673
git rm --cached 文件名
#如果是文件夹
git rm -r --cached 文件夹名
将要忽略的文件名添加到.gitignore中
然后执行add 和 commit
git add .
#这里的命令是用原来的信息再重新提交一次
git commit --amend -CHEAD
git filter-branch --tree-filter 'rm -f 文件名' HEAD
全部操作如下:
7. 最后再执行push
git push origin master
这时候会出现如下错误,解决办法见下一条:
To gitee.com:liang_baikai/test.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'gitee.com:liang_baikai/test.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
git push --force 仓库地址
#或者
git push --force origin master
#或者
git push origin master -f
git pull
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。