Git使用
下载地址:
https://pan.baidu.com/share/init?surl=QSyjfReLRsi7QfpOV4buNA
提取码:trip
官网:https://git-scm.com/
安装后首先需要创建公钥和私钥,打开git后输入
ssh-keygen - t rsa
之后会在提示的ssh文件下会找到两个文件,其中以.pub结尾的是公钥
打开gitlab以后搜索settings,找到输入公钥的地方把公钥输入进去
然后在本地创建好需要链接的远程仓库和分支的对应文件夹,打开文件夹,并在其中右键选择”git bash here“
首先输入 git init进行初始化,之后在gitlab上找到对应的仓库地址,右键复制
然后输入git remote add <远程仓库名> <远程仓库地址>来给这个远程仓库取别名,注意仓库下有不同的分支,但是在这些不同分支下获得的链接都是这同一个仓库的链接
之后使用git branch <分支名> 来创建一个分支
使用pull命令或者fetch命令来下载仓库指定分支的文件,两个命令的差别:
https://baijiahao.baidu.com/s?id=1725714621602704728
Git pull <远程仓库名> <远程分支名>:<本地分支名>
把之前取名的远程仓库的一个分支的文件拷贝到本地分支上
注意不同分支可以使用checkout <分支名>来进行切换,默认情况下不创建分支也有一个master分支,切换了分支以后会发现整个文件夹里的文件都变了,变成对应分支下的文件
如果创建了新的文件,需要在该分支下输入命令 git add <新文件名>来跟踪这个文件的修改,当修改完成后,使用git commit <修改的文件名> -m “修改备注“ 来把这个变动提交到本地仓库里,这时候远程仓库(网上)还是没有更新的,需要通过push命令来将commit的改动push到远程仓库的指定分支上:
Git push <远程仓库名> <本地分支名>:<远程分支名>
push成功以后就是在远端仓库也进行了更新
如果是需要新建一个项目,首先在github网页端新建一个仓库,然后复制其链接,按同样的流程创建,不同的是
在add和commnit的时候可以用
git add .
git commit . -m "新项目"
git push <名字> master:master
把自己的新项目推上去
可能出现的一些问题和解决方法:
1.在pull文件的时候卡住
原因:远程仓库里存在某个很大的文件卡死了git
解决方法:只pull自己需要的文件即可,即pull指定的文件
首先开启sparsecheckout
git config core.sparsecheckout true
然后在
.git/info/sparse-checkout
这个文件下输入你需要pull的文件路径,比如有三个文件夹,a_data,b_data,c_data,你想要获取b_data下的所有文件,在这个.git/info/sparse-checkout文件中输入b_data或者b_data/*即可,如果只是想要获取某一个文件那么输入相应的路径名,之后需要关闭重启git,看到git右边出现(master|SPARSE)就说明成功了,然后按正常方法pull即可,当你修改完成后也可以直接进行push
2.提示Pulling is not possible because you have unmerged files.
解决方法:
https://blog.csdn.net/XiaoRungen/article/details/108845990
使用以下命令:
git merge –abort
git reset –merge
3.提示
Git:Updates were rejected because a pushed branch tip is behind its remote
提示提交的版本比远程仓库对应分支的版本低所以不行
解决方法
1.尝试重新从远程仓库pull文件,如果还是提示这个错误可能是由于rebase的原因,具体可以参考这篇文章
https://zhuanlan.zhihu.com/p/545057227
2.先备份修改的文件,然后在pull的时候加上-f参数强制用远程仓库更新,最后再重新commit修改过的文件并重新push,我个人是在使用1方法无效后这么解决的
3.push的时候加上-f参数进行覆盖(极不推荐)
附上一些其他的常用命令