git是去中心化版本管理工具,项目创建一个远程版本,将其clone到本地,会在本地创建一个本地仓,一个开发项目,在没有网络的时候依然可以提交修改到本地仓,当有网络的时候再提交到远程仓库。git可以快速的创建分支以及切换分支。比svn创建分支快捷方便。
git 版本管理流程图
一般的git版本管理,会有三条主线(会与上图稍稍不同,主体一样),分别对应dev(开发环境)线,release(测试环境)线,master(生产环境)线。这三条线从左开始是一个项目从工程师开发----》测试人员测试---------》生产(正式环境)上线的项目流程。由这三条线分别衍生两种分支线
feature branches: 在dev开发主线上,当需要修改或者增加新的需求的时候开一个分支,可以命名feature_bug_fix.当在这个分支开发完成,或者不需要这个分支的时候直接删除这个分支。好处:无用代码不会污染主分支,主分支线上个的的代码都是有用的代码。
同样,release 和 master 线上的也可以创建开发分支。
现在github上面创建一个项目,复制项目的url地址
打开一个文件,输入git status 命令,发现fatal: Not a git repository (or any of the parent directories): .git 这个错误。输入 git init 初始化git
1.添加一个新的远程:git remote add
git remote -h :git 操作url的docs
git remote -v :查看git远程仓
git remote add gitPro :添加一个新的远程
git remote :查看远程信息
2.git 创建分支
git branch:查看当前 远程是否有分支
git status:查看在那个分支开发
git checkout -b
git checkout
git checkout :
git merge
3.杂项
1.git add 撤销 :git reset HEAD 撤销
2.合并指定文件夹到某个分支:git checkout
3.查看上次提交的日志:git log -p -n n 代表次数
1.git更新某个文件夹的文件
找到要更新的文件夹-------->打开git bash here---->输入git fetch----->git merge
2.提交文件
git add test.txt :将当前文件添加到本地仓进行管理。
git commit -m "这是测试":将文件提交到本地仓,此时只是将文件提交到本地阿仓,并没有提交到远程仓库
git push origin master: 将本地仓中未提交到远程仓库的文件提交到远程仓(版本控制服务器)
3.git 删除文件
rm test.txt :表示从当前工作空间删除文件,并不会将本地分支删除,也不会将远程服务器删除
若删错了文件,可以用 git checkout test.txt 从本地仓恢复
若要真的删除,可以用 git rm test.txt 从本地仓库删除
最后 git push origin master 将这个删除的文件提交到远程服务器
若本地仓删除但是又想从远程仓抓取,用 git checkout HEAD -- test.txt 从远程仓抓取到本地仓和工作空间,此命令可以用作解决文件冲突
4.git查看远程仓库地址
git remote -v:返还远程仓库地址
5.git 获取远程仓库项目
git clone git地址:git地址是远程仓库的地址
6.查看上次提交的文件
git log -p -2
7.删除分支
git branch -D
若报error: Cannot delete branch 则切换到其他分支再删除,你不能删除一个正在使用的分支