编程,我还是个新人。所以我还在不停地学习一些新的工具,一些大家都早就用烂熟的工具。编程就有代码,有代码自然要管理。而我们熟悉的代码管理的工具有svn和git,git更新更强大,比如分支管理的强大。
工具首先当然是下载安装。然而官网上没有windows的版本,只好去github上下载。
安装完后,在相应的目录右键,点击git bash即可看见命令行窗口出来。
接下来就应该学习git的一些常见命令了。
git status,会提示当前目录并不是一个仓库。而要创建仓库,则需要命令
git init,再git status,则会显示现在是一个空的仓库。然后可以在该目录下创建文件,修改文件。再git status,显示有文件未被跟踪。这时可以使用git add 文件名,这时文件处于暂存区域,git status,显示有更改可以commit,这时可以输入命令
git commit -m "描述信息" ,完成对更改的提交。
上面的操作都只是本地的操作。接下来则是与远程仓库的交互。
1.怎样将github上的项目clone下来?
2.怎样将本地的项目push到github上去?
首先在git bash的命令行窗口中输入ssh -keygen -t rsa 。即指定rsa算法产生公钥和私钥。接着连续键入三(还是四?)次回车键,则会生成id_rsa和rsa_pub这两个文件。前者是私钥,后者是公钥,在../.ssh文件夹下。然后在github右上角new ssh key,再选择ssh and GPG keys,将公钥全部复制进下面的key中,title随意填写。
在github上可以新建一个仓库。然后我们使用命令git remote add origin + (在github上该仓库上的clone or download下clone with ssh下复制的url),即可推送到远程仓库,其中remote是远程仓库的名字。
既然说git特别强大的是它的分支管理。那接下来再说说。
首先我们创建一个仓库的时候,它都有一个主分支,叫master。git branch a, 则创建了名为a的分支。但此时仍然是在master分支下进行操作,而要转到a分支,则要输入命令,git checkout a。当然也可以创建与转换一步完成 git branch -b a。
在master上建立分支a,则a分支初始与master完全相同。其它也是,即在谁之上建立分支,则该分支初始状态与谁一样。
那在a上做了改变,并且测试完之后想把a的改变也加到master上,怎么办?合并就行了。转到master分支,键入命令git
merge a,即完成了合并。当然在多个分支合并的时候,还会有冲突的问题,这个暂时不提。
说到分支管理,实际情况并不是简单的一个master主分支,还有一个develop分支这么简单。通常用的一种模式是还有feature分支,release分支,hotfix分支。其中feature分支通常是在开始开发一个新功能的时候在develop上新建的,当完成后则合并到develop上。而hotfix是在线上版本出现bug的时候,在master分支上建立的新的分支,bug修复后合并到develop和master。release分支则是当feature分支新功能完成,并且合并到develop,在develop上测试等都完成得差不多了,再创建一个新的release分支,这时的运行环境,数据等都跟实际的一样,随时准备上线,发现bug直接在此基础上修复。
好了,这次就说这么多吧,最后再提醒一点,有本地仓库和远程仓库,本地仓库有master和其他分支,远程仓库也有master和其他分支,要记的push,也别弄混了啊。