欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Git使用小结(一)

程序员文章站 2024-03-21 23:32:04
...

一、Git仓库

仓库分为本地仓库和远程仓库,它们通过秘钥远程仓库地址来建立连接。

A. 创建秘钥SSH KEY(远程仓库:公钥,本地仓库:私钥)

$ ssh-****** -t rsa -C "aaa@qq.com"
  • Git只管理GitHubGitLab中的一个,直接用上述命令即可
  • 执行命令后,会在~/.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相关命令都在git bash中执行即可
    Git使用小结(一)
  • 或者自行添加环境变量:
  1. 找到Git/usr/bin目录下的ssh-******.exe
  2. 如果找不到,可以在计算机全局搜索
  3. 属性-->高级系统设置-->环境变量-->系统变量,
      找到Path变量,进行编辑,End到最后,输入分号,
      粘贴复制的ssh-******所在的路径,保存;
      重新cmd,执行ssh-******,成功!
  • 若只想在cmd中临时使用,可以在Git/usr/bin目录下直接执行 ssh-******的命令

C. 关于Git同时管理gitHubgitLab的问题

  • 1) 之前看到的文章中是这么解决的
    【但个人觉得不太好用,搞了大半天没搞定,果断放弃】
    Git使用小结(一)
    Git使用小结(一)

  • 2) ssh-add相关知识点
    ① 添加私钥命令ssh-add id_rsa_lab (原来的id_rsa未执行相关命令,可用)
    ② 然后将对应公钥添加到对应服务端(这个很简单,就不列了),相应githubgitlab即都可用了
    ③ 如果在使用shh-add的时候提示Could not open a connection to your authentication agent. git bash中执行ssh-agent bash
    关于ssh-add,这里有一篇文章貌似讲的比较详细,正确与否自行判断

**上述链接的提问:**我的repo 分别推送到githubgitcafe。 正确添加了两个公钥私钥之后,并命名为id_githubid_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
Git使用小结(一)

提示找不到目录:/d/Program。进入d盘查看,发现如果目录名中间有空格的时候,bash默认是要加单引号的
Git使用小结(一)

注意,盘符前面要加上 / ,而且路径名是可以不区分大小写的,包括单引号里面的单词。

B. 每次打开bash,进入的不是自己想要的工作空间,每次都要切换就有点费时间了,所以我们要修改默认加载目录
Git使用小结(一)

具体步骤:

1、桌面找到Git Bash的快捷启动图标 
2、把 –cd-to-home去掉 
3、把起始位置中的“%HOMEDRIVE%%HOMEPATH%”替换成你的工作空间 
4、重新打开bash,你就发现当前目录已经是你替换的目录了。

三、工作区与暂存区

Git使用小结(一)

如上图,将文件存入到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简单使用

注意:个人建议使用命令行方式进行版本管理,但是可以使用图形化界面看本次代码的改动,比较方便。

  1. 在所在项目,右键选择git gui
    Git使用小结(一)

  2. 界面如下,如果会使用命令行,那么一看就明白了
    Git使用小结(一)

  3. 配置 UTF-8:Edit-Options:
    Git使用小结(一)

  4. Add commit push很快完成,不用输i入命令
    Git使用小结(一)

  5. 查看代码对比
    Git使用小结(一)

如果想要查看所有的改动历史,可以:
Git使用小结(一)

就可以看到所有的代码改动历史,而不用去网上看。注意,这里能看到所有人的改动哦!!!非常强大!
Git使用小结(一)

  1. 设置和远程仓库关联(如果从项目根目录进入,则自动关联,不用设置) 如果需要设置,选择remote-Add,参考如下:
    Git使用小结(一)

  2. 新建项目,从远程仓库克隆 。右键选择git gui:
    Git使用小结(一)

选择克隆已有版本库:
Git使用小结(一)


六、命令相关的另行整理

相关标签: Git git