创建项目
1.打开终端
2.找到所要创建项目的文件夹 cd 路径
3.初始化当前文件夹为一个git项目
4.将当前文件的内容提交到git暂存区
5.提交
6.将当前的项目添加到远程项目 git remote add origin +项目地址
7.推送本地代码到远程 git push origin master
提交修改后的项目
1.首先找到项目所在目录
2.git status
3.提交到本地 git commit -m'注释' 文件名 ex:git commit -m'改了图片' j1.html
4.将远程文件拉到本地来 git pull origin master
5. 推到远程端 git push origin master
将远程仓库中不需要的文件删除
1.终端回到文件目录 ls -al 查看目录里面的所有文件
2.找到要删除的文件 rm file
3.commit -m"" file
4.git push origin master
修改
如果仅是在工作区修改,还未add到暂存区 git checkout -- file
如果已经add到暂存区,还未commit到仓库 git reset HEAD file
如果已经commit到仓库 还未到推送到远程库 返回版本号即可
删除
如果在工作区删除了一个文件(此时版本库里还未删除),用git status看一下,可以发现deleted xxxx,这时如果你确定要删除 rm file、git commit -m""而如果此时你不想删除了 git checkout -- file
添加远程库
即让让本地仓库与远程仓库同步
在本地仓库目录下 git remote add origin git@xxxx(远程仓库的ssh码)
然后 git push master origin (将master分支里的东西push到远程仓库里)
克隆远程库
取得要clone的远程库的ssh码
要存放的目录下 git clone git@cccc(远程仓库的ssh码)
分支管理
创建及合并分支
创建新的分支 git chckout -b dev(分支名称)此命令相当于创建及切换 即:get branch dev 和 get checkout dev
查看当前分支 git branch(当前分支前面会有一个*号)
我们现在要在dev 分支下对我们的learngit 底下的一个文件做出一处修改并且添加和提交
切换至master上来,此时你会发现master分支,刚刚修改的文件并没有任何变化,这是因为刚刚是在dev分下作出修改
接下来我们将dev分支的内容合并到master上来,git merge dev ,此时你再打开刚刚修改的文件,发现也已经更新了
合并之后,我们可以将dev分支删除掉 git branch -d dev 此时git branch 查看分支,可以发现里面只有master分支了
解决冲突
指同一个文件的同一行代码被修改了造成的冲突
首先创建一个新的分支 git checkout -b featural
然后在featural分支下修改文件,添加并提交
切换至master 上来,git checkout master
将刚刚featural修改的文件打开,可以发现无变化,此时你将刚刚在featural分支做修改的那一行改成不同的代码,添加并提交
来来来!!git merge featural 合并一下,会发现产生冲突了,产生冲突肿么办呢?我们要手动的解决冲突,打开文件,此时你会发现Git用<<<<<<<
,=======
,>>>>>>>
标记出不同分支的内容,那我们就来根据自己的情况修改,修改改添加并提交,冲突已经解决了,删除分支 git branch -d featural.就哦了
分支管理策略
普通合并(强制不使用Fast forward合并)
git merge --no-ff -m"xxxx" featural(分支名)
不用ff合并,我们在分支上历史上就可以看出分支信息
bug分支
你在分支dev上写代码的时候,突然接到一个bug需要立即修复,可是你写的代码暂时还无法提交,这时你可以 git stash来将其暂存
切换到master来,创建一个分支 git checkout -b bug101 ,修改代码并提交,切换到master,合并分支git merged --no-ff -m"xxx" bug101,删除分支git branch -d bug101.
处理好bug后,我们切换到dev,git checkout dev 然后用git stash pop 回到工作现场
Feature分支
我们在开发软件,总是会很多新功能添加进来,每添加一个新功能,最好新建一个Feature分支,在上面开发,完成后合并,最后将其删除
如果在Feature分支上开发的新功能突然被取消掉,那我们就将其删除即可 git branch -d xxx(分支名),这时git 会提醒是否确定要删除 确定 git branch -D XXX即可