赞
踩
协同修改
多人并行不悖的修改服务器端的同一个文件。
数据备份
不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。
版本管理
在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空
间,提高运行效率。这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文
件系统快照的方式。
权限控制
对团队中参与开发的人员进行权限控制。
对团队外开发者贡献的代码进行审核——Git 独有。
历史记录
查看修改人、修改时间、修改内容、日志信息。
将本地文件恢复到某一个历史状态。
分支管理
允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率。
官网地址:https://git-scm.com/
大部分操作在本地完成,不需要联网
完整性保证
尽可能添加数据而不是删除或修改数据
分支操作非常快捷流畅
与 Linux 命令全面兼容
D:\gitRepository\gitlab-test2(工程跟目录)\.git\config以下代码保证不写死分支
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = http://zhangsan:qwedsa123@192.168.109.145/zhangsan/gitlab-test2.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
合并两个个没有关系的分支
Could Not Merge master: refusing to merge unrelated histories
以上报错就是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。
我们要想办法将这两个仓库强制建立联系,
想在哪个分支上创建新的分支,右键相应分支,会在本地创建新分支,之后可以直接push到远程仓库,创建远程分支
–soft参数告诉Git重置HEAD到另外一个commit,但也到此为止。如果你指定–soft参数,Git将停止在那里而什么也不会根本变化。这意味着index,working copy都不会做任何变化,所有的在original HEAD和你重置到的那个commit之间的所有变更集都放在stage(index)区域中。
–hard参数将会blow out everything.它将重置HEAD返回到另外一个commit(取决于~12的参数),重置index以便反映HEAD的变化,并且重置working copy也使得其完全匹配起来。这是一个比较危险的动作,具有破坏性,数据因此可能会丢失!如果真是发生了数据丢失又希望找回来,那么只有使用:git reflog命令了。makes everything match the commit you have reset to.你的所有本地修改将丢失。如果我们希望彻底丢掉本地修改但是又不希望更改branch所指向的commit,则执行git reset --hard = git reset --hard HEAD. i.e. don’t change the branch but get rid of all local changes.另外一个场景是简单地移动branch从一个到另一个commit而保持index/work区域同步。这将确实令你丢失你的工作,因为它将修改你的work tree!
–mixed是reset的默认参数,也就是当你不指定任何参数时的参数。它将重置HEAD到另外一个commit,并且重置index以便和HEAD相匹配,但是也到此为止。working copy不会被更改。所有该branch上从original HEAD(commit)到你重置到的那个commit之间的所有变更将作为local modifications保存在working area中,(被标示为local modification or untracked via git status),但是并未staged的状态,你可以重新检视然后再做修改和commit
原因:
.gitignore只能忽略未被track的文件,而git本地缓存。如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决方法:
先把本地缓存删除(改变成未track状态),然后再提交。使用以下几个命令即可快速解决
注意:以下命令需要在你项目中右键点击 Git Bash Here进行命令窗口输入
git rm -r --cached .
git add .
git commit -m ‘update .gitignore’
然后重新回到IDEA提交,多余的文件就会消失啦~~~
README.md, 本地仓库和远程仓库进行关联
Terminal中执行如下
1、打开terminal
2、git pull
3、git pull origin master
4、git pull origin master --allow-unrelated-histories
5、重新push,发现push成功
再重新push
Terminal中执行如下
git merge master --allow-unrelated-histories
然后重新合并
参考文章:https://blog.csdn.net/chao821/article/details/81033003
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。