git的使用
git的使用
一、git客户端的使用
1、打开Git Bash,此时弹出CMD窗体,用ssh-keygen创建一个rsa密钥对,输入命令ssh-keygen -t rsa -C "youremail@yourcompany.com"
2、输入要生成的文件名,默认文件名是id_rsa(建议使用默认)。
注意:如果不是使用的默认名称,因为你自定义的这个名字并没有和ssh内部规定的名字保持一致,所以还需要先执行命令 ssh-agent bash,再执行ssh-add ~/.ssh/xxx (xxx为你想要用的文件名),如果没有处理,链接github就会提示
3、接着又会提示你输入两次密码passhphrase(该密码是你push文件的时候要输入的密码,而不是github管理者的密码),当然,你也可以不输入密码,直接按回车。那么push的时候就不需要输入密码,直接提交到github上了)
4、在对应的文件目录下可以看到生成秘钥的文件
id_rsa中保存的是私钥,id_rsa.pub中保存的是公钥, (公钥上传到github),查看.ssh文件夹下有没有id_rsa和id_rsa.pub,如果没有,将id_rsa和id_rsa.pub这两个文件拷贝到.ssh
5、查看公钥密钥对:cat id_rsa.pub
二、GitHub账号配置
1、 为github账号配置ssh key,展开右上角个人头像的小三角,点击settings,然后打开SSH keys菜单, 点击Add SSH key新增密钥
2、测试本地添加成功没有,输入ssh -T git@github.com
如果提示Are you sure you want to continue connecting (yes/no)? 选择yes
如果再有警告提示,问你,是否将IP为XXX.XXX.XXX.XXX的主机持久添加到已知的hosts文件中,
到C:\Windows\System32\drivers\etc 目录下添加github的主机IP
再测试一下,ssh -T git@github.com
若再有错误,可查看log日志,命令:ssh -v git@github.com
查看.ssh文件夹下的列表
发现没有id_rsa和id_rsa_pub这两个文件,拷贝这两个文件到该目录下
三、创建本地仓库
1、本地项目文件夹右键选择git bash here
输入个人信息(代码提交者)
git config --global user.name "用户名" // "用户名",一定要在用户名加上""
git config --global user.email xxxxx@qq.com //邮箱
2、下载(克隆)github上的项目到本地:git clone url
3、在本地项目目录创建本地仓库:git init
输入命令后项目目录会有一个隐藏的.git文件夹上传所有代码到本地仓库
文件111.txt已提交到本地仓库,现在666.txt和ceshi.txt没有添加到本地仓库,将这两个文件添加到库里。
git status 查看有多少文件未提交到仓库中。
git add . (包含“.”符号): 添加已修改的(新增或修改)内容至暂存区(不含删除的文件)
git add -A:添加本地所有修改的内容至暂存区(包含删除的文件)
代码上传到本地仓库 git commit -m "提交描述"
可以看出两个个文件改变(test2下新建了一个文本文档666.txt和ceshi.txt
关联本地仓库并上传代码: git remote add origin https://github.com/***/***.git(上步骤复制的地址,第一次需要输入账号密码)
提交代码到远程仓库: git push origin master
四、常用命令
1、git grep 文件内容 (搜索内容的范围是已提交到github上的文件,不包括未提交到github上的)
2、git commit -m "提交注释" 不能提交空文件夹
出现报错"Everything up-to-date",出现这个错误是因为创建的目录下是空的,目录下必须有文件才能git push上传成功
五、idea中git的使用:
1、更新项目,更新项目有两种方式:
1.1、更新当前窗口下的整个项目
1.2、更新相应文件,文件右键Git→Repository→Pull
出现更新详情窗口
选择pull,显示更新记录
2、提交文件
新增文件,Git—>Add,add表示文件交给git托管
再选择文件右键Git→Commit file ,提交文件
填写备注,选择Commit and push
选择文件右键Git→Repository→Push 上传文件
3、解决文件冲突
当在本地修改的文件,别人也修改了且已提交到了远程服务器,这时需要解决冲突。
冲突文件详情:
详情页面分为三栏,左边为本地版本,中间为修改前版本,右边为服务器最新版本,左右两边代码不可以修改
当前冲突页面1所指按钮可以切换冲突位置,2处按钮可以让冲突部分高亮显示,3处可以选择文件是否整体滑动。
基于两个版本对中间版本修改后点击apply,即生成最终版本的文件,选择提交
这时会提示上传失败,最好将文件重新编译一下,确认无误后重新push即可
- 上传成功!
六、利用Git bash上传项目到github
项目右键,git bash here
在gitbash中输入
1、会在当前目录下创建一个新的Git仓库 git init
2、指定远端仓库 git remote add origin https://github.com/menghuanlunhui/miaosha.git
3、会把本地所有文件都加入暂存区 git add *
4、提交信息 git commit -m "first commit, first version"
5、把本地仓库push到github上面 git push origin master
(如果没有配置用户名和邮箱,那么需要执行以下命令:
git config --global user.name "XXX"
git config --global user.email "XXX@XXX.com"
如果你的whuzm仓库中已经含有文件,那么执行这句会提示提交失败,用户需要先执行git pull命令
git pull origin master
ok,再次执行git push origin master,成功,到github网上擦看自己的仓库,发现项目已经提交上去了。
如果只是更新:
1、git add .
2、git commit -m “提交信息” (缺少这一步,直接提交,会提示Everything up-to-date)
3、git push origin master