Git是分布式的,SVN是集中式
Git复杂概念比较多,SVN简单易上手
Git分支廉价,SVN分支昂贵
git add
状态变为Staged
Modified
. 如果使用git rm
移出版本库, 则成为Untracked
文件git add
可进入暂存staged
状态, 使用git checkout
则丢弃修改过, 返回到unmodify
状态, 这个git checkout
即从库中取出文件, 覆盖当前修改git commit
则将修改同步到库中, 这时库中的文件和本地文件又变为一致, 文件为Unmodify
状态. 执行git reset HEAD filename
取消暂存, 文件状态为Modified
将文件添加到暂存区
git add .
比较常用,注意要配合.gitignore
文件来忽略不需要的文件(夹),如node_modules,.idea, .vscode
如果你已经push了突然想起来要搞.gitignore怎么办
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
提交命令, git commit -m "修改信息"
查看当前日志,即所有的提交记录
在commit之前,你发现有文件你不想进行版本控制(或者本次不想更新)
git reset [文件名]
版本回退
git reset <commitID> --hard
commitID通过git log
查看
安装目录/gitconfig
可以自行设置alias
[alias]
ad = add .
cmm = commit -m
查看所有的日志(假如版本回退之后又后悔了,想回到最新的版本,log查不到最新的id)
分支相关操作:
创建新的分支
git checkout -b <name> <template>
以template分支为模板创建name分支,template
可以不填(默认为master)
切换分支
git checkout <name>
查看本地分支信息
删除本地已经合并git branch –d 分支名
删除本地未合并的分支git branch –D 分支名
远程分支删除git push origin -d 分支
将本地仓库(分支)推送到远程仓库
git push --set-upstream origin <分支名> # 将远程的分支作为本地分支的上流分支
git push # 将本地仓库推送到远程
git push -f # 强制使用本地仓库覆盖远程仓库
查看远程仓库信息,获取远程分支信息,更新代码
注意,此时git branch
是不能显示远程的分支信息,但是可以切换到远程分支git checkout <远程分支>
如果想在远程分支的基础上切换新的分支git checkout -b <本地分支> origin <远程分支>
pull = fetch + merge
加入在master分支上和bc分支上有不同的commit,需要按照更新时间来排列所有的commit
# 在bc分支上执行rebase
git rebase master
# 正常情况下会出现冲突,需要手动处理
git add .
# 继续下一个commit结点
git rebase --continue
# 继续处理冲突, 再add . 在继续--continue....
开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支
git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。