安装后,打开cmd,自报家门
如下信息会在提交代码时要使用,记录在你的每次提交中。以后才知道哪次提交是谁做的。
git config --global user.name "Your Name" #用户名 git config --g1obal user.email "emailoexample.com" #邮箱 #查看信息 git conf1g -l测试: cmd中执行,查看git版本
git --version执行 git status 可以看到工作区中文件的状态
执行git add . 将工作区中的文件全部存入 暂存区
执行 git commit -m "这里写提交的描述信息” 作用是将暂存区的文件存入分支,形成一个版本
在 码云 注册账号,并登录。
进入公司后,很可能会使用公司自己搭建的git服务器,则账号向领导索要即可
本文档中选用仓库的https协议的地址,将此地址关联到本地git中
语法:git remote add origin https://gitee.com/wlw330/git_wlw.git(这个连接是远程仓库的地址)
remote(远程),origin(远程名)
将本地仓库中已经commit的内容push到远程仓库,以共享自己的代码。
语法:git push origin master
origin(远程名,也可以理解为远程仓库的表示),master(分支名)
如果仓库已经由别人创建完毕,我们需要其中的内容,则可以通过git clone将其复制到本地。
语法:git clone https://gitee.com/wlw330/git_wlw.git
多人协同开发时,写好代码的 git push 上传到远程仓库; 需要代码的git pull拉取代码即可。
分支,是一个个版本最终存储的位置。
分支,就是一条时间线,每次 git commit 形成一个个版本,一个个版本依次存储在分支的一个个提交点上。
一个注意点:如果新的一次修改只是添加文件,对之前文件并没有进行更改,则新的提交点中还是有全部文件,只不过是保存了之前文件的一个链接,真实文件还是保存在上一个提交点中(会有所有文件的完整信息,只不过只有哪些真正改动的文件才会被实际存储,哪么没有改动的文件只会存一个链接)
查看当前仓库的分支 git branch
仓库中默认只有 master 分支
执行 git commit 时,默认是在master分支上保存版本。
在商业项目开发过程中,我们不会轻易的在master分支上做操作。
我们会新建一个开发用的分支,在此分支上做版本的记录。 当代码确实没有问题时,才会将开发分支上成熟的代码版本添加到master分支上。
保证开发过程中,可以及时记录版本,又保证master分支上每个提交点都是稳健版本。
语法:git branch name(分支名,自己定义)
默认情况下,当前使用的分支是master分支
可以切换到dev分支,则后续的 **git commit **便会在 dev分支上新建版本(提交点)
语法:git checkout name(分支名,自己定义的)
每个分支都有一个指针,新建一个分支, 首先是新建一个指针。
而且新分支的指针会和当前分支指向同一个提交点。
新分支包含的提交点就是从第一个提交点到分支指针指向的提交点。
在master分支和新分支,分别进行 git add 和 git commit
分支情况如下图:
查看分支的提交日志,进而看到分支中提交点的详细情况。
语法:git log --oneline(简易日志)、git log (完整日志)
如果分支A当前的修改,是完全基于分支B的修改而来,则B分支合并A分支, 就是移动指针即可。
注意点:要先切换回主分支(git checkout master),然后再合并(git merge dev)
在不具备快速合并的条件下,会采用三方合并。
三方合并语法还是:git merge dev (只不过内部执行不同)
场景模拟如下:
在master分支合并dev分支
此时,打开hig.txt 文件:
出现冲突后,如要由两个开发人员当面协商,该如何取舍,为冲突文件定义最终内容。 解决方案:
保留某一方的,删除另一方的保留双方的但无论如何,要记得删除<<<< ==== >>>>这些本质是两人协商为冲突的内容,定制出合理的内容。新建项目后,将项目目录创建为git仓库
注意:要在建仓库前,设置忽略文件".gitignore"
作用:被忽略的文件会被版本记录忽略,版本中不包含它们。
范围:不需要和其他开发共享的文件,具体见下图。
创建好仓库后,做第一次提交。
新建分支
请首先参照第7章,创建一个远程仓库。
要求是裸库,且建议库名和项目名同名。
如果有建好的远程仓库,比如公司内已经在用的仓库,或者github, 码云上的一些公开仓库,可以将远程仓库的项目复制到本地使用。
如果远程仓库有更新,则你的本地项目也需要一起更新。
合并分支时,如果出现冲突,则需要解决冲突。
1>由管理员负责创建一个远程库,初始的库中什么也没有,为裸库。库的名称建议和项目同名
2>管理员会在idea中创建一个初始项目,其中包含**.gitignore文件。并在项目根目录下建立本地库**。并建立dev分支。
3>管理员将本地库上传到远程库
4>将其他开发人员拉入远程库的 开发成员列表 中,使得其他开发人员可以访问该远程库。 流程如下:
5> master分支设置为protected分支, 只有管理员有权限将代码合并到其中。dev分支设置为常规分支所有开发人员都可以其中合并代码
在使用httpst协议做push时,如果曾经使用过码云,但密码有过改动,此时会报错
解决方案:控制面板》凭据管理器》删除对应凭证, 再次使用时会提示重新输入密码。