lhp000 2020-05-30
Git | SVN |
---|---|
1. Git是一个分布式的版本控制工具 | 1. SVN 是集中版本控制工具 |
2.它属于第3代版本控制工具 | 2.它属于第2代版本控制工具 |
3.客户端可以在其本地系统上克隆整个存储库 | 3.版本历史记录存储在服务器端存储库中 |
4.即使离线也可以提交 | 4.只允许在线提交 |
5.Push/pull 操作更快 | 5.Push/pull 操作较慢 |
6.工程可以用 commit 自动共享 | 6.没有任何东西自动共享 |
开发过程中,我们都有自己的特性分支,所以冲突发生的并不多,但也碰到过。诸如公共类的公共方法,我和别人同时修改同一个文件,他提交后我再提交就会报冲突的错误。 发生冲突,在IDE里面一般都是对比本地文件和远程分支的文件,然后把远程分支上文件的内容手工修改到本地文件,然后再提交冲突的文件使其保证与远程分支的文件一致,这样才会消除冲突,然后再提交自己修改的部分。特别要注意下,修改本地冲突文件使其与远程仓库的文件保持一致后,需要提交后才能消除冲突,否则无法继续提交。必要时可与同事交流,消除冲突。 发生冲突,也可以使用命令。
要创建存储库,先为项目创建一个目录(如果该目录不存在),然后运行命令 git init。通过运行此命令,将在项目的目录中创建 .git 目录。
1 先创建一个远程仓库(也就是在github上创建一个远程仓库)
2 然后再通过 git clone 远程仓库的地址 克隆到本地
3 将我们写好的项目放到clone下来的文件夹里
4 通过 git add . ( . 点是选中所有的文件,也可以改成某个文件名只提交某一个文件)这是添加到暂时存储
5 通过 git commit -m "(这里边是描述信息)" 推送到本地仓库
6 通过 git push 将我们的项目推送到远程仓库
1 先创建一个远程仓库(也就是在github上创建一个远程仓库)
2 然后在自己电脑上创建一个文件
3 在自己创建的文件里点右键 选中git bash here进入命令行
4 在命令行里输入 git init 创建一个本地仓库
5 再输入 git add . 添加到暂时存储
6 再输入 git commit -m "(这里是描述信息)"推送到本地仓库
7 再输入 git remote add 自定义名 远程仓库地址 绑定本地仓库和远程仓库
8 再输入 git push 自定义名 master 添加到远程仓库
你需要说明使用它的原因,而不仅仅是说出语言的名称。我建议你这样回答:
Git使用 C 语言编写。 GIT 很快,C 语言通过减少运行时的开销来做到这一点。
? 对于任何一个文件,在 Git 内都只有三种区域:工作区,暂存区和本地仓库。
工作区:表示新增或修改了某个文件,但还没有提交保存;
暂存区:表示把已新增或修改的文件,放在下次提交时要保存的清单中;
本地仓库:文件已经被安全地保存在本地仓库中了。
git pull
命令从中央存储库中提取特定分支的新更改或提交,并更新本地存储库中的目标分支。
git fetch
也用于相同的目的,但它的工作方式略有不同。当你执行 git fetch
时,它会从所需的分支中提取所有新提交,并将其存储在本地存储库中的新分支中。如果要在目标分支中反映这些更改,必须在git fetch
之后执行git merge
。只有在对目标分支和获取的分支进行合并后才会更新目标分支。为了方便起见,请记住以下等式:<center><h5>git pull = git fetch + git merge</h5></center>
首先说明为什么我们需要 git config
。
git 使用你的用户名将提交与身份相关联。 git config
命令可用来更改你的 git 配置,包括你的用户名。
下面用一个例子来解释。
假设你要提供用户名和电子邮件 ID 用来将提交与身份相关联,以便你可以知道是谁进行了特定提交。为此,我将使用:
git config –global user.name "Your Name": 此命令将添加用户名。
git config –global user.email "Your E-mail Address": 此命令将添加电子邮件ID。
要知道某个分支是否已合并为master,你可以使用以下命令:
git branch –merged
它列出了已合并到当前分支的分支。
git branch –no-merged
它列出了尚未合并的分支。
SubGit 是将 SVN 到 Git迁移的工具。它创建了一个可写的本地或远程 Subversion 存储库的 Git 镜像,并且只要你愿意,可以随意使用 Subversion 和 Git。
这样做有很多优点,比如你可以从 Subversion 快速一次性导入到 Git 或者在 Atlassian Bitbucket Server 中使用SubGit。我们可以用 SubGit 创建现有 Subversion 存储库的双向 Git-SVN 镜像。你可以在方便时 push 到 Git 或提交 Subversion。同步由 SubGit 完成。
? Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
git commit -m "commit message" 复制代码
创建一个新的提交,撤消在错误提交中所做的所有更改。可以使用命令:
git revert <name of bad commit> 复制代码
首先确保本地仓库与远程之间是连同的。如果提交失败,则需要进行下面的命令进行连通:
git remote add origin XXXX 复制代码
注意:XXXX是你的远程仓库地址。 如果是第一次推送,则进行下面命令:
git push -u origin master 复制代码
注意:-u 是指定origin为默认主分支 之后的提交,只需要下面的命令:
git push origin master 复制代码
Git Merge:这种合并方式是将两个分支的历史合并到一起,现在的分支不会被更改,它会比对双方不同的文件缓存下来,生成一个commit,去push。 复制代码
Git ReBase:这种合并方法通常被称为“衍合”。他是提交修改历史,比对双方的commit,然后找出不同的去缓存,然后去push,修改commit历史。 复制代码
答:使用git log查看文件提交历史 Git log filename 使用git log查看分支提交历史 Git log branch file