Git 安装和使用Tips
目录:导读
1. git的安装
1)首先去下载
2)傻瓜式下一步再下一步地去安装
2. git的常见命令
提交代码
下载代码
分支提交代码
3. git的常见问题
1) 提示出错信息:fatal: remote origin already exists.
2) 发现日志等文件没有上传
git clone -b develop remost_URL
对于Git的使用本文就不讲那么深了,今天主要是和大家分享一下Git的安装和使用一些简单方面的认识,希望初学Git的大家看完这篇文章能有对Git更深的认识。最后相信看完此文你的Git使用会更进一步。
1. git的安装
1)首先去下载
Git - Downloads
[root@VM_0_10_centos ~]# yum install git
[root@VM_0_10_centos ~]# git --version
git version 1.8.3.1
在上述官网上下载符合自己操作系统的git版本,PS翻 墙会快一些,不翻 墙经常出现网络错误而下载失败
分享网盘资源下载
链接:百度网盘 请输入提取码 密码:65wr
2)傻瓜式下一步再下一步地去安装
安装完毕后,Windows平台下用Git Bash工具双击打开,接下来我们要去做生成秘钥操作,how to?
生成密钥命令如下,直接复制并粘贴到窗口中,邮件地址可以是注册github、gitlab平台到邮箱,也可以不是注册到邮箱,邮箱是为了知道通知你,你到密钥被加到哪个账户上去了。
ssh-keygen -t rsa -C "xxx.qian@xx.com"
打开密钥生成文件,注意一下自己刚刚生成的目录,我这边是默认路径
C:\Users\jasqia\.ssh
将id_rsa.pub内容复制到自己的gitlab,或者github中。 一般是 User Settings 下的 SSH Keys
注意一定是公钥,加pub字样的,私钥是用来加密,公钥用来解密
2. git的常见命令
提交代码
git init
对当前目录进行初始化,使当前的目录交由Git进行管理git status
查看当前项目下所有文件的状态git add.【add 和 点 . 之间有空格注意哦】
对当前目录下的所有文件进行跟踪git status
查看当前项目下所有文件的状态
git commit 提交代码
一般 加一些描述,例如git commit -m "initial commit" //初次提交代码
git commit -m "add xx file"
git remote add origin git@xxx.com:usrname/project-name.git //初次提交代码git push -u origin master
下载代码
通过gitbash 或者
开发软件中的命令行比如Intelij Idea
或者eclipse中自己添加插件,后新建项目时候选git clone选好指定的目录
选好指定的目录
git clone
GitHub上的项目到本地
git clone git@xxx.com:xx/project-name.git
git clone https://github.com/xxx/project-name
git pull 后续server上代码有更新,git pull命令将更新本地代码
git status 查看当前目录以及子目录的变更
git rm xxfile 删除命令
git rm xxfolder 删除命令
涉及分支创建、合并、删除等
查看目前所在的分支:git branch
创建分支:git branch <name>
切换分支:git checkout <name>
创建+切换分支:git checkout -b <name>
合并某分支到当前分支:git merge <name>
删除分支:git branch -d <name>
分支提交代码
git commit -m "comments"
git push origin branchname
git reset HEAD <file>
如果分支中有和master中由同一文件名的文件,要怎么办?
3. git的常见问题
1) 提示出错信息:fatal: remote origin already exists.
出错原因是此目录下的git已经指向了一个远程的初始路径,且和你此次想指向的路径不一致;那要么自己check下,是否路径需要更新。若需要,有两种方式,要么删除目录下的.git文件夹,一般情况下是隐藏的;要么直接用命令
git remote rm origin 来删除掉初始路径,然后重新git remote add origin git@github.com/xxx即可
2) 发现日志等文件没有上传
是因为在.gitignore文件中进行了配置,如下截图
此文件会忽略要上传的带有特定后缀的文件
git clone -b develop remost_URL
1.fetch和merge和pull的区别
pull相当于git fetch 和 git merge,即更新远程仓库的代码到本地仓库,然后将内容合并到当前分支。
git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git merge : 将内容合并到当前分支
git pull:相当于是从远程获取最新版本并merge到本地
2.tag
tag指向一次commit的id,通常用来给开发分支做一个标记
打标签 : git tag -a v1.01 -m "Relase version 1.01"
提交标签到远程仓库 : git push origin --tags
查看标签 : git tag
查看某两次tag之间的commit:git log --pretty=oneline tagA..tagB
查看某次tag之后的commit: git log --pretty=oneline tagA..
3.Git和SVN的区别
Git是分布式版本控制系统,SVN是集中式版本控制系统
4.Git工作流程
- 在工作目录中修改某些文件
- 对修改后的文件进行快照,然后保存到暂存区域
- 提交更新,将保存在暂存区域的文件快照永久转储到Git目录中
5.常用命令
git show # 显示某次提交的内容 git show $id
git add <file> # 将工作文件修改提交到本地暂存区
git rm <file> # 从版本库中删除文件
git reset <file> # 从暂存区恢复到工作文件
git reset HEAD^ # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改
git diff <file> # 比较当前文件和暂存区文件差异 git diff
git log -p <file> # 查看每次详细修改内容的diff
git branch -r # 查看远程分支
git merge <branch> # 将branch分支合并到当前分支
git stash # 暂存
git stash pop #恢复最近一次的暂存
git pull # 抓取远程仓库所有分支更新并合并到本地
git push origin master # 将本地主分支推到远程主分支
写在最后
如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!
看到这篇文章的人有觉得我的理解有误的地方,也欢迎评论和探讨~
你也可以加入下方的的群聊去和同行大神交流切磋