SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。
Git是开源分布式版本控制系统,分为本地仓库和远程仓库,每一个客户端都保存了完整的历史记录。
在想要使用git的文件夹中单击右键,选择git bash进入命令行工具。
git --version查看版本
TortoiseGit:小乌龟GitGUI管理软件。
工作目录Working Tree:代码存放位置,里面的代码经常发生变动
本地历史仓库Repository:存放不同版本的代码
暂存区Index:代码提交到仓库之前的临时存储空间
命令 | 作用 |
---|---|
git init | 初始化,创建 git 仓库 |
git status | 查看 git 状态 (文件是否进行了添加、提交操作) |
git add 文件名 | 添加,将指定文件添加到暂存区 |
git commit -m ‘提交信息‘ | 提交,将暂存区文件提交到历史仓库 |
git log | 查看日志( git 提交的历史日志) |
步骤:
git reflog:查看所有分支的所有操作记录(包括已经被删除的commit记录的操作)
git reset --hard 版本的唯一标识
在开始时经常面临新的需求,不得不停下手头正在进行的工作。这是就可以开始一个新的分支,在新分支中进行新的开发,在原有的分支继续进行原来的开发。当开发完成后,可以将两个分支合并。
Git中有两个指针,head指向当前的分支,master指向当前的代码版本。创建分支:git branch 分支名
切换分支:git checkout 分支名
查看所有分支:git branch
查看文件:ls
合并分支:git merge 分支名
删除分支:git branch -d 分支名
推送代码前,需要ssh公钥。生成公钥的步骤:
设置Git账户
git config user.name(查看git账户)
git config user.email(查看git邮箱)
git config --global user.name “账户名”(设置全局账户名)
git config --global user.email “邮箱”(设置全局邮箱)
cd ~/.ssh(查看是否生成过SSH公钥)
生成SSH公钥
设置账户公钥
复制生成的ssh公钥,粘贴到远程仓库。
公钥测试:ssh -T git@github.com
推送到远程仓库
先有远程仓库,本地仓库为空
两个程序员操作同一个文件,其中一个程序员在修改文件后,push到远程仓库,另一个程序员应该先pull将最新的代码更新到本地仓库后,在修改代码,之后push到远程仓库,结果他没有先pull将最新的代码更新到本地仓库,而是直接将自己的代码push到远程仓库,这样就可能会导致代码冲突。
发生代码冲突,Git会阻止提交,程序员必须修改冲突之后才可以提交。
VCS->Import into Version Control->Create Git Repository
选择工程所在的目录,这样就创建好本地仓库了
点击git后边的对勾,将当前项目代码提交到本地仓库
注意: 项目中的配置文件不需要提交到本地仓库中,提交时,忽略掉即可
方式一: 控制台Version Control->Log->Reset Current Branch...->Reset
这种切换的特点是会抛弃原来的提交记录
方式二:控制台Version Control->Log->Revert Commit->Merge->处理代码->commit
这种切换的特点是会当成一个新的提交记录,之前的提交记录也都保留
创建分支
VCS->Git->Branches->New Branch->给分支起名字->ok
切换分支
idea右下角Git->选择要切换的分支->checkout
合并分支
VCS->Git->Merge changes->选择要合并的分支->merge
处理分支中的代码
删除分支
idea右下角->选中要删除的分支->Delete
VCS->Git->Push->点击master Define remote
将远程仓库的路径复制过来->Push
File->Close Project->Checkout from Version Control->Git->指定远程仓库的路径->指定本地存放的路径->clone
原文:https://www.cnblogs.com/yellowchives/p/15202205.html