赞
踩
git有好几个区,工作区(workspace)、暂存区(index)、本地仓库(local repository)、还有远程仓库(remote repository)。远程仓库为我们保存一份代码,如github,而工作区、暂存区和本地仓库都在本地,这也就是为什么我们在没有网络的环境下也能使用git提交(commit)代码,因为提交仅仅是提交到本地仓库中,待有网络之后在推送(push)到远程仓库。
git add 命令主要是用于把我们要提交的文件的信息添加到暂存区中。
用法有
git add -u [
git add -a [
git add -i [
先输入2,然后回车,然后开始选择update的文件,选1后回车,如果没有结束当前update输入,再输入回车
操作方法和上面一样,下输入3,代表选择的是revert操作,然后选择要操作的文件,回车确定,在回车退出revert操作,文件就从暂存区中剔除了。
通过diff子命令,可以比较暂存区中文件和原版本的差异。
将暂存区中的文件提交到本地仓库中
或者git commit -am “提交的描述信息”,这个方法就是可以把tracked的文件提交到本地仓库,就算这件没有git add,也能提交。这个就是省略了git add这一步。
注意,分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支>。
如果省略远程分支名,则表示将本地分支推送与之存在”追踪关系”的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin --delete master
git branch -a
git branch
git checkout 分支名
1、进入要合并的分支(如开发分支合并到master,则进入master目录)
git checkout master
2、拉取最新代码
git pull
3、查看所有分支是否都pull下来
git branch -a
4、使用merge合并开发分支
git merge 分支名
5、查看合并后的状态
git status
6、有冲突的话,通过开发软件解决冲突
7、解决冲突之后,将冲突文件提交暂存区
git add 冲突文件
8、提交merge之后的结果
git commit
如果不是使用git commit -m “备注” ,那么git会自动将合并的结果作为备注,提交本地仓库
9、本地仓库代码提交远程仓库
git push
注意:此操作将覆盖当前分支内容。
将master分支的代码完全被dev分支代码覆盖:
git checkout master
git reset --hard dev
git push origin master --force
git push origin --force 可能会报错:
You are not allowed to force push code to a protected branch on this project
解决:
如果用的是gitlab版本库,这说明gitlab对仓库启用了保护,需要在仓库中设置一下:
“Settings” -> “Repository” -> scroll down to “Protected branches”.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。