一:简介和基本使用教程
二:常用命令
三:参考
一:简介和基本使用教程
1:Git简介:
Git是一种非常流行的分布式源代码版本控制系统,它和其他版本控制系统的主要差别在于Git只关心文件数据的整体是否发生变化,而大多数版本其他系统只关心文件内容的具体差异。Git另一个特性是分布式,远程服务器上面一个代码仓库,本地计算机一个代码仓库。本地和远程都拥有完整的代码,在本地的任何操作都将先记录在本地,待需要提交的时候同步到远程。
Git和Github和GitLab的区别:git 是一项技术,源代码管理的技术;Github是一个网站,一个开源项目的展示平台,一个技术社区,大家编写代码提交到这个网站后其他人可以看到,并参与编写。它的源代码管理使用的技术就是git技术;GitLab是一个成熟的开发团队源代码管理软件,类似SVN,它以git技术为核心功能,衍生了一些软件项目管理需要的其他功能,如请求代码审阅。
2:下载Git、安装Git、配置Git:
1) 打开网址:https://git-scm.com/
2) 点击最显眼的“Download”
3) 下载完了之后是这样的
4) 接下来就是安装了,一路下一步。
5) 安装好了之后就会发现,自己的电脑安装的程序中多了这个Git
6) 对计算机上面安装的Git做一个简单的配置:
a) 双击“Git –Bash.exe”,会出现这个
b) 输入这样的一行命令:git config –global user.name “Naylor”。命令中双引号中的内容为自己定义,表示git使用者名字。
c) 输入这样的一行命令:git config –global user.email “邮箱”。命令中双引号中的内容为自己定义,设置一个与该账号绑定的邮箱。
d) 输入这样的一行命令:ssh-keygen -C “邮箱” -t rsa。然后它会提示你输入一个保存ssh公钥和私钥的位置,直接回车,它会保存在默认位置
e) 至此,Git在本地计算机上面的配置已经完毕,公钥和私钥也已经生成,稍后会使用公钥。
3:使用SSH连接本地Git库和Github中的Git库
1) 登录自己的Github,进入Setings 中。
2) 点击“New SHH kEY”
3) 在“Title”中随便填写一个名称,在“Key”中输入公钥文件中的内容。用文本编辑器打开下图中的文件,然后复制里面的内容,粘贴到“Key”中。
4) 好了,至此SSH配置完成。
4:在Github中新建一个代码仓库(即新建一个repository)
5:在计算机本地创建代码仓库
1) 新建一个文件夹,然后鼠标右键点击,找到“Git Bash Here”,点击它。这时候会出现一个这样的窗口
2) 输入git init
3) 此时该文件夹下面会多一个文件夹,这个文件夹隐藏的。
4) 在命令窗口中输入git add . 注意:add和. (点)中间有一个空格,.(点)表示将此文件夹下面所有的子文件夹和文件都纳入到Git库中。
5) 输入命令:git commit -m “gitusestudy” 引号中的为自己定义,为本次提交代码写提交日志
6) 至此,本地代码库创建完毕。
6:将计算机本地的代码仓库中的代码提交到github中的代码仓库。
1) 在本地代码库所在文件夹下面,新建一个“测试git”的TXT文件。右键点击“Git Bash Here”,打开Git Bash 命令窗口.
2) 输入命令:git remote add origin https://github.com/Naylor55/VSCodes.git
3) 输入命令:git push -u origin master 此命令作用是将本地代码库中的文件更新到github代码库中。
4) 输入该命令后,会提示你输入github 网站的帐号名称。再回车后,会弹框让你输入帐号对应的密码。
5) 如果上述步骤都成功,命令窗口中会显示类似这些的内容
6) 此时,打开github网站,进入到新建的代码仓库下面,会看到内容已经被提交到了github。
7:可能遇到的问题
1) push 的时候报错如下:
原因:本地仓库版本低于github上面的版本,这时可以使用 git push -u origin master -f 命令强制提交。此命令会舍弃远端的修改,以本地代码为准。
常用命令:https://www.jianshu.com/p/83c74c7280fd
二:常用命令
git branch
查看本地所有分支
git branch -a
查看本地、远程所有分支
git checkout -b feature-initialization origin/feature-initialization
拉取远程分支feature-initialization,在本地起名为feature-initialization,并切换到本地 feature-initialization分支
git pull origin feature-initialization
拉取指定分支代码
从远端feature-initialization分支上面 拉取代码
git add .
将当前路径下的文件和文件夹增加到git 暂存区,空文件夹会忽略。
git commit -m "提交相关日志信息"
提交代码到本地仓库
git remote -v
查看远程git仓库的地址
git log
查看提交日志
git log -p -2
查看提交日志,-p 选项展开显示每次提交的内容差异,
-2 则仅显示最近的两次提交
git reset
还原,一般用在舍弃本地修改的内容,让本地代码和远程某一次提交的版本相同,不指定版本则默认本地仓库上一个版本
git status
查看本地改动
git checkout release
切换分支
切换到本地另外一个分支
git checkout -- pom.xml
撤销工作区对pom文件的修改
前提是未执行git add .
git log <file>
查看某一个文件的提交记录
git remote prune origin
清理本地分支(远程删除了某分支, 可是本地 git branch -a 任然可以看到,可以使用此命令清理)
git checkout -b newBranchName
在本地创建一个新的分支,并切换到新创建的分支
git push --set-upstream origin localname
将本地分支和远程分支关联起来(两步:1:在远端创建一个分支;2:将本地分支和远端分支关联起来)
git tag
查看所有的tag
git reflog --date=local | grep hotfix-20191015-v1.0.0
查看某一个分支是基于哪个分支创建的
git reflog show --date=iso feature-20191104-v1.1.0
查看某一个分支是基于哪个分支创建的
git push origin --delete branchName
删除远程分支
git branch -d branchName
删除本地分支 [ 需要切换到master分支,才可以删除其他的分支 ]
git merge dev
合并指定分支到当前分支(例子:当前在master分支,合并dev分知到master)
三:参考
https://www.jianshu.com/p/83c74c7280fd
https://www.liaoxuefeng.com/wiki/896043488029600