Git操作的基本命令
git命令常用步骤
-
初始化,把当前文件夹作为git本地仓库
git init
-
把本地仓库与选程仓库关联
git remote add origin http://gitee.com/
-
把项目区中做了修改的文件添加到暂存区
git add .
-
把暂存区的文件提交到本地仓库
git commit -m ‘信息提示’
-
把本地仓库的内容提交到选程仓库,选程仓库名字origin,分支master
git push --set-upstream origin master
-
把选程仓库的内容下载到本地仓库
git pull
-
查看分支
git branch
-
创建分支:fun1
git branch fun1
-
切换到分支fun1
git checkout fun1
然后重复第3步到第5步,但是注意第5步要修改分支名(master改为fun1):git push --set-upstream origin fun1
-
合并到主分支master
git checkout master
-
合并分支fun1到主分支master中
git merge fun1
-
把合并后的master分支提交到选程仓库中
git push --set-upstream origin master
-
创建分支fun2,重复第8步到第12步
-
创建分支array,重复第8步到第12步
注意:
当第5步报错:
$ git push --set-upstream origin master
To https://gitee.com/test/test-demo.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://gitee.com/test/test-demo.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.
解决办法,,执行下拉pull操作然后重新add、commit、push:
git pull --rebase origin master
Git一些其它操作命令
-
git查看远程分支命令
git branch -r # 查看远程分支
git branch -a # 查看所有分支 -
git关联远程分支(非master主分支)命令
第一步切换分支:git checkout 远程分支 # 例如:git checkout origin/test,origin是远程库名,test是个分支,切换到需要关联的分支
第二步关联分支:git checkout 远程分支 -b 本地需要关联的分支 # 例如:git checkout origin/test -b dev,dev是个本地分支,这个分支不需要手动创建,执行此命令后会自动创建这个分支并切换到当前分支
如果提示错误:error: pathspec 'origin/test' did not match any file(s) known to git.
执行如下命取回所有分支的更新:git fetch -
查看当前本地分支与远程分支的关联状态命令
git branch -vv
-
已存在的本地分支与远程分支进行关联
git branch --set-upstream-to=origin/dev dev (前者是远程分支,后者是本的分支)
-
git stash 操作
git stash 可用来暂存当前正在进行的工作, 比如想pull 最新代码, 又不想加新commit, 或者另外一种情况,为了fix 一个紧急的bug, 先stash, 使返回到自己上一个commit, 改完bug之后再stash pop, 继续原来的工作。
基础命令:
$git stash 添加暂存区
$git stash list 查看暂存区的stash列表
$git stash pop 回退暂存区的stash版本
$git stash save "标记" 保存时打上标记
$git stash drop stash@{1} 删除暂存区栈中的stash版本,1是序列的索引
$git apply stash@{0} 回退任意stash版本,0是序列的索引版本回退规则:暂存区添加的版本是按照栈的规则进行添加的,即:先进后出原则
git stash pop 默认回退暂存区的最顶层版本,也就是栈的最上层
-
git rebase 操作
$git rebase rebase分支到子分支或者其他分支
$git rebase --continue 如果有冲突,解决完冲突重新添加(git add .)然后continue
$git submodule update --init 更新到初始化版本$git submodule update --remote 更新到最新版本
-
git rever 回滚(回滚到历史某一次提交,新开子分支,以防数据丢失)
git revert -n [commitId] 回滚到某个版本
文件上传过滤
-
情况一
当文件不需要上传,并且是刚创建的空项目时下拉项目
git pull
直接编辑过滤文件即可
-
情况二
当文件已经上传同步过或者已经git add添加过时先移除本地缓存仓库的文件或文件夹
git rm -r --cache ./文件路径
然后再修改过滤文件提交即可