Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

 

Git 与 SVN 区别点:

  • 1、Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。

  • 2、Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

  • 3、Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。

  • 4、Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

  • 5、Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

 

 

Git 完整命令手册地址:http://git-scm.com/docs

 

创建新仓库

创建新文件夹,打开,然后执行 ,以创建新的 git 仓库

git init

 

拉代码

git config --global user.name "用户名"

git config --global user.email "邮箱"

git clone   地址

 

你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 暂存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,它指向你最后一次提交的结果。

 

 

提交代码:

添加和提交

提出更改(把它们添加到暂存区)

git add <filename>

git add *

实际提交改动,此时改动已经提交到了 HEAD,但是还没到你的远端仓库

git commit -m "代码提交信息"

推送改动

将这些改动提交到远端仓库,可以把 master 换成你想要推送的任何分支

git push origin master

 

查看当前本地文件信息

git status

 

如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加,如此你就能够将你的改动推送到所添加的服务器上去了。

git remote add origin <server>

 

分支

分支是用来将特性开发绝缘开来的。在你创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。

 

 创建一个叫做“feature_x”的分支,并切换过去

git checkout -b feature_x

切换回主分支

git checkout master

再把新建的分支删掉:

git branch -d feature_x

除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的

git push origin <branch>

 

更新与合并

要更新你的本地仓库至最新改动,执行

git pull

以在你的工作目录中 获取(fetch) 并 合并(merge) 远端的改动。
要合并其他分支到你的当前分支(例如 master),执行

git merge <branch>

在这两种情况下,git 都会尝试去自动合并改动。遗憾的是,这可能并非每次都成功,并可能出现冲突(conflicts)。 这时候就需要你修改这些文件来手动合并这些冲突(conflicts)。改完之后,你需要执行如下命令以将它们标记为合并成功:

git add <filename>

在合并改动之前,你可以使用如下命令预览差异

git diff <source_branch> <target_branch>

 

替换本地改动

假如你操作失误(当然,这最好永远不要发生),你可以使用如下命令替换掉本地改动,此命令会使用 HEAD 中的最新内容替换掉你的工作目录中的文件。已添加到暂存区的改动以及新文件都不会受到影响。

git checkout -- <filename>

假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并将你本地主分支指向它

git fetch origin

git reset --hard origin/master

 

 

 

提交代码也可以用 git  gui here  

提交代码前,要先更新代码!!!   Git Pull是从远端拉取最新的代码,Git Fetch是从远端拉取最新的分支,Git Push是将本地仓库的代码提交到远端

 

 

准备工作:安装git,已切换到开发分支

1在git克隆的本地项目文件夹下右键选择git GUI Here ,会进入如下界面

 

 

2,点击左上角区域的文件图标,可以将其添加到暂存区(左下角区域),然后在左下角点击文件查看文件更改情况(点击图标,会让其移除暂存区),如果左下角所有的文件更改都是没问题的,可以在commit Message区域添加描述

3,选择工具栏中的romote --》 fetch Form--》orgin,实现pull的效果,保证多人合作的版本统一(此处顺序一定是先commit然后在pull,先pull会覆盖本地更改的代码)

4,点击右下角的push按钮就可以提交了

 

参考:https://www.cnblogs.com/dglblog/p/9322310.html

也可使用此文: https://www.runoob.com/w3cnote/git-gui-window.html

https://www.cnblogs.com/xuwenjin/p/8573603.html