Git使用小结(一)
一、Git
仓库
仓库分为本地仓库和远程仓库,它们通过秘钥
和远程仓库地址
来建立连接。
A. 创建秘钥SSH KEY
(远程仓库:公钥,本地仓库:私钥)
$ ssh-****** -t rsa -C "aaa@qq.com"
- 若
Git
只管理GitHub
或GitLab
中的一个,直接用上述命令即可 - 执行命令后,会在
~/.ssh/
目录下生成私钥id-rsa
和公钥id-rsa.pub
。 - 若同时管理两个,则需为其指定一下名称。
$ ssh-****** -t rsa -C "aaa@qq.com" id_rsa_lab
$ ssh-****** -t rsa -C "aaa@qq.com" id_rsa_hub
B. 提示:若上述命令在普通cmd
界面执行,则可能会报错:
- 针对该问题,其实
git
相关命令都在git bash
中执行即可
- 或者自行添加环境变量:
1. 找到Git/usr/bin目录下的ssh-******.exe
2. 如果找不到,可以在计算机全局搜索
3. 属性-->高级系统设置-->环境变量-->系统变量,
找到Path变量,进行编辑,End到最后,输入分号,
粘贴复制的ssh-******所在的路径,保存;
重新cmd,执行ssh-******,成功!
- 若只想在
cmd
中临时使用,可以在Git/usr/bin
目录下直接执行ssh-******
的命令
C. 关于Git
同时管理gitHub
和gitLab
的问题
-
1) 之前看到的文章中是这么解决的
【但个人觉得不太好用,搞了大半天没搞定,果断放弃】 -
2)
ssh-add
相关知识点
① 添加私钥命令ssh-add id_rsa_lab
(原来的id_rsa
未执行相关命令,可用)
② 然后将对应公钥添加到对应服务端(这个很简单,就不列了),相应github
和gitlab
即都可用了
③ 如果在使用shh-add
的时候提示Could not open a connection to your authentication agent.
在git bash
中执行ssh-agent bash
④ 关于ssh-add
,这里有一篇文章貌似讲的比较详细,正确与否自行判断
**上述链接的提问:**我的
repo
分别推送到github
,gitcafe
。 正确添加了两个公钥私钥之后,并命名为id_github
和id_gitcafe
,发现每次push
代码 都必须重新ssh-add
上私钥。将id_github
名改回默认的id_rsa
,就可以直接push
了。但是gitcafe
被拒绝。有没有办法可以一次都设置上,不需要每次ssh-add
私钥的
-
3)
git remote add url
地址
① 本地新建工程(git init
),第一次push
前,需要先关联远程仓库
② 执行命令git remote add origin https://github.com.xxx.git
③ 命令行中的origin
可以改为其他的,类似别名吧
④ 第一次提交可使用-u
,执行git push -u origin dev
⑤-u
的作用:将会关联到远程的dev
(第一次指定哪个就是哪个)分支上,以后该工程就可以git push
不指定参数了 -
4) 配置
user
相关信息:
即git log
显示的提交者信息;常用的配成global
,不常用的到相关git
工程下设置局部local
的即可。
所有的仓库都有效的配置方式:
git config --global user.name '您的名称'
git config --global user.email '您的Email'
只对当前仓库有效
git config --local user.name '您的名称'
git config --local user.email '您的Email'
二、 Git Bash
切换目录失败及修改默认启动路径
A. 目录有空格,切换目录失败,如Program Files
提示找不到目录:/d/Program
。进入d
盘查看,发现如果目录名中间有空格的时候,bash
默认是要加单引号的
注意,盘符前面要加上 / ,而且路径名是可以不区分大小写的,包括单引号里面的单词。
B. 每次打开bash
,进入的不是自己想要的工作空间,每次都要切换就有点费时间了,所以我们要修改默认加载目录。
具体步骤:
1、桌面找到Git Bash的快捷启动图标
2、把 –cd-to-home去掉
3、把起始位置中的“%HOMEDRIVE%%HOMEPATH%”替换成你的工作空间
4、重新打开bash,你就发现当前目录已经是你替换的目录了。
三、工作区与暂存区
如上图,将文件存入到Git版本库里,分两步执行:
① 用git add
命令将工作区的修改文件添加到暂存区;
commit
之前可以多次add
,add file1, file2, file3;
add file4, file5;
已经add
的文件,又作了修改,如file3
,
别的不需重新add
,add file3;
即可git add -A
: 把仓库内所有变更加入到暂存区git add .
: 把当前目录及子目录下所有变更加入到暂存区
② 用git commit
命令将暂存区的所有修改内容提交到当前分支;一旦事务提交之后,如果对工作区没有做什么修改,那么工作区就是干净的
四、 Git
提交时的忽略文件
-
A. 哪些文件不能上传到git上?
① 类似Android Studio
自动生成的配置文件:不能上传到git
上,否则的话,如果你的同事下载下来,但是它的studio(gradle)
版本和你的不一样,或者其他配置的各种路径不一样,就需要重建项目,严重的话,根本无法重建项目,一片爆红!网上的方法也解决不了。
② 保存了数据库密码或者什么不能上传的文件… -
B. 忽略文件
.gitignore
的原则是:
① 忽略操作系统自动生成的文件,比如缩略图等;
② 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java
编译产生的.class
文件;
③ 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。 -
C. 想知道忽略那些文件吗,很简单,找个大神的
github
,看看他的项目中怎么写的,就ok了!!!
/captures
# Built application files
*.apk
*.ap_
# Generated files
bin/
gen/
# Gradle files
.gradle/
/build
/*/build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Eclipse project files
.classpath
.project
.settings/
# Intellij project files
*.iml
*.ipr
*.iws
.idea/
# System files
.DS_Store
五、GIT GUI
简单使用
注意:个人建议使用命令行方式进行版本管理,但是可以使用图形化界面看本次代码的改动,比较方便。
-
在所在项目,右键选择
git gui
-
界面如下,如果会使用命令行,那么一看就明白了
-
配置
UTF-8:Edit-Options
: -
Add commit push
很快完成,不用输i
入命令 -
查看代码对比
如果想要查看所有的改动历史,可以:
就可以看到所有的代码改动历史,而不用去网上看。注意,这里能看到所有人的改动哦!!!非常强大!
-
设置和远程仓库关联(如果从项目根目录进入,则自动关联,不用设置) 如果需要设置,选择
remote-Add
,参考如下: -
新建项目,从远程仓库克隆 。右键选择
git gui
:
选择克隆已有版本库:
六、命令相关的另行整理
上一篇: git使用小结
下一篇: HTML在工作中的使用