您的位置:首页 > 其它

git学习 - 理解、总结及菜鸟(本人)入门

2018-02-02 14:03 260 查看
git是一个非常给力的版本控制工具。我理解的版本控制是指对项目开发的各个阶段的控制,比如说项目Release版本其实就是项目开发成熟后的稳定版本。(怎么办,我好像自己看这句话也不太懂TnT)

在之前的小打小闹的开发过程中,如果我想对某个项目进行修改,可是不确定修改是否有效时,我会拷贝一份项目保存,然后对副本进行开发修改,这样子有几个缺点:1、将源码、各项资源文件以及依赖的库全部保存有时候项目太大会占额外空间;2、拷贝后路径通常会改变,这样还得重新设置包含路径,库目录;3、有时候所做的修改没办法记录,自己也就无法清晰、高效的控制项目开发进程,解决方法就变成了每个副本文件夹各种名字,如:“pro_改了*”(当然开发过程中会尽量避免中文路径,此处仅供理解),诸如种种。

而git可以很有效的解决上述问题:1、git保存各个版本是保存其修改信息,即“添加了*”等等,这样避免了占用额外空间以及无法记录修改的问题;2、git不同分支(分支概念稍后讲述)是工作在同一工作目录下,所以不存在重新设置路径等问题。

闲话不提,这里写一下 git 基本操作,说一下自己对 git 使用的理解。

首先,需要下载安装git本地工具,具体不表,网上有很多教程。以下是基本操作:

1、在需要建立git仓库的路径右键点击 Git base Here

2、输入 git init //这一步是建立本地仓库,可以理解仓库是一个管理所有版本的一个容器

建立本地仓库后,输入 ls -a 命令,如果可以看到 .git 文件夹,即说明git 本地仓库建立成功,而当前路径即为阁下的工作目录

3、输入 git add //这里是将需要进行版本控制的文件加入仓库,这样git才可以管理加入文件的版本,看到网上有人提到使这些文件被 git 跟踪,以便之后的记录修改等

输入 git add . //最后还有个 点 ,一个点表示当前路径,这句命令是把当前路径下的文件全部加入本地仓库

4、输入 git commit -m “注释“ //这句命令是将修改提交到本地仓库

以上是简单的本地操作,本地,划重点

好了,大家对仓库之类的概念有所了解 包括我 0.0,接下来分享一下如何版本控制(简单的操作,如有大神,欢迎指正)

建立仓库后会有一条默认主分支:master

输入 git branch new_branch //新建名为 new_branch 的分支,new_branch 的内容完全拷贝于 master 分支

输入 git checkout new_branch //选择 new_branch 分支,这样操作后你的开发将会在 new_branch 分支上进行, 就是说修改文件对 master 分支无影响

//这两步可以合为一步,输入 git checkout -b new_branch ,新建并选择 new_branch 分支

如果暂时有事,需要对 master 分支修改

先进行上述 git commit -m ” . ” 操作提交 new_branch 分支的修改

//这里可以用 git status 查看该分支各文件的状态,如果有修改未提交、或者有新增文件均会有高亮显示

输入 git checkout master 选择 master 分支,这时 第一:工作目录下的文件会转成你之前提交 master 分支时的状态;第二:对工作目录下的文件修改就是对 master 分支进行操作,不影响 new_branch 分支。

//个人认为,git 就是基于此实现了版本控制

接下来是将本地仓库推送(push)到远程仓库:(这里需要先在 GitHub 、GitLab 等等之类的项目托管平台建立远程仓库,进行SSH配置,自己也不太熟悉,就不误人子弟了,各位依旧是找网上各路大神吧~~~)

输入 git remote add origin git@< url >

//URL 可以从托管平台得到,以GitHub为例:

//点击GitHub 平台的 仓库 ,就到了该界面,然后点击 “Clone or download”



所以我输入 git remote add origin git@https://github.com/GlLamant/Chid.git

18/2/5更:这样写在push 的时候提示” I don’t handle protocol ‘git@http’ “,说明这样的写法是错误的,我改成” git remote add origin http://github.com/GlLamant/Chid.git ” 错误解决。

另:如果提示 ” remote origin already exists “,输入”git remote rm origin ” 删除已关联的错误远程仓库,然后执行以上操作重新关联。

还有其他写法,具体直接网上搜“关联远程仓库”,好多干货


输入 git push -u origin msater ,将本地仓库推送(push)到远程仓库

//push 成功后, 刷新 GitHub,可以看到远程仓库下多出来了你刚刚push 的文件

//-u 参数在网上看见有人说首次push 加,之后可以不加,我还没搞清楚,大家注意一下

最后记一下下载或者说克隆远程项目到本地:(同样需要SSH配置)

git clone < url >

如果想克隆远程仓库特定的分支克隆:git clone -b < branch_name > < remote_repository_address >

//branch_name :远程分支名称

//remote_repository_address :远程仓库地址,即URL

找到一个很详细的讲解

所获所得仅此,仅作抛砖引玉;欢迎指点,祝各位学习顺利。

20180207更:常用 Git 命令清单

先贴一张图



个人感觉写的贼棒!!!

20180209更:在版本控制切换不同版本时,切记需要先git add . ,然后提交 git commit ,若不然,所有的修改仍保留在工作区以内,即使checkout到其他分支,打开文件,仍是上一个版本的修改内容,此时再进行git add . 和 git commit 的操作反而极易修改覆盖当前版本内容,举例说明:我有A,B两个分支,A是master分支,我在B分支工作,然后突然有事需要对A分支修改,我必须先在B分支下git add . 以及git commit 。

20180314更:公司服务器换了IP,直接就懵了,远程仓库啊,以下是更换远程仓库链接命令:

git remote set-url origin <url>


这里有两个“url”,第一个时和set一起直接敲url就好,是命令参数,而括号里的是现在远程仓库的url地址,例如我的命令是:

//我把IP稍微的修饰了一下,反正就是git地址
git remote set-url origin http://127.0.0.1/guol/guol.git[/code] 
ok,这时候再输入 git remote -v 就会发现远程仓库链接已经更换了,接下来的操作就是 git add . | git commit -m “*” | git push origin master 了,具体参照本文。

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: