四、GIT远程仓库
1.注册gitee账户,并创建仓库
2.配置SSH公钥
2.1生成SSH公钥(只需操作一次,用于验证远程仓库)
ssh-keygen -t rsa
不断回车
- 如果公钥存在,则会自动覆盖
2.2Gitee设置账户共公钥
获取公钥 cat ~/.ssh/id_rsa.pub
验证是否配置成功 ssh -T git@gitee.com
最后输入 yes
3.操作远程仓库
3.1添加远程仓库
此操作是先初始化本地库,然后与已创建的远程库进行对接。 为远程仓库取别名
-
命令: git remote add <远端名称> <仓库路径>
- 远端名称,默认是origin,取决于远端服务器设置
- 仓库路径,从远端服务器获取此SSH
- 例如: git remote add origin git@gitee.com:yinjieA0324/git-notes.git
3.2查看远程仓库
- 命令 :git remote
3.3推送到远程仓库
命令:git push [-f] [--set-upstream] [远端名称 [本地分支名][:远端分支名] ]
如果远程分支名和本地分支名称相同,则可以只写本地分支
git push origin master
-f 表示强制覆盖(对仓库文件进行覆盖)
--set-upstream 推送到远端的同时并且建立起和远端分支的关联关系。
git push --set-upstream origin master
如果当前分支已经和远端分支关联,则可以省略分支名和远端名。
git push 将master分支推送到已关联的远端分支。
3.4本地分支与远程分支的关联关系
查看关联关系可使用 git branch -vv 命令
3.5从远程仓库克隆到本地
-
git clone <仓库路径> [本地目录]
- 本地目录可以省略,会自动生成一个目录
3.6从远程仓库中抓取和拉取
-
抓取 命令:git fetch [remote name] [branch name]
- 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
- 如果不指定远端名称和分支名,则抓取所有分支。
-
拉取 命令:git pull [remote name] [branch name]
- 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
- 如果不指定远端名称和分支名,则抓取所有并更新当前分支。
3.7解决合并冲突问题
远程分支也是分支,所以合并时冲突的解决方式也和解决本地分支冲突相同相同。
cat 文件名 查看代码冲突
3.8更改git远程仓库地址
- 方法一 : 通过命令直接修改远程仓库地址
git remote 查看所有远程仓库
git remote xxx 查看指定远程仓库地址
git remote set-url origin 你新的远程仓库地址
- 方法二: 先删除在添加你的远程仓库
git remote rm origin
git remote add origin 你的新远程仓库地址
- 方法三: 直接修改你本地的.git文件
这里需要注意的问题是需要进入你的项目目录中
例如:你的项目名为test,那么你就进入test文件夹。
.git文件是隐藏文件你需要显示隐藏文件才能看见,进入.git文件编辑.git文件中的config文件修改config文件中的url路径为你的新远程仓库地址路径。
五、GIT的图形操作IDEA
目前没需求,在GIT讲义中查看详情。视频查看bilibili视频号BV1MU4y1Y7h5
六、遇到的问题
6.1Git Commit失败并提示Git进程被占用
解决办法:在文件内的.git文件中找到index.lock
原因:根据我们所了解到的,windows对于进程的同步互斥管理,是有资源上锁机制的。猜测这里肯定是有进程对某资源进行了加锁,但是由于进程突然崩溃,未来得及解锁,导致其他进程访问不了。
6.2git撤销删除
-
git commit –amend 会覆盖原来的add的信息,使用下面命令可以用于“提交后发现忘记了暂存某些需要的修改”
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend
-
git撤销修改
你对那个文件在本地的任何修改都会消失——Git 会用最近提交的版本覆盖掉它。
git checkout -- <file> -
删除文件
rm <file>
这个时候,Git知道你删除了文件,因此,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:
一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit:
6.3冲突问题
-
当本地仓库与远程仓库对同样的文件进行不同修改,若要与使用本地版本,需要进行
git pull origin master
有冲突提示,哪一行有冲突
git add .
git commit -m ‘’
git push origin master
修改完成
总结:要想熟悉git就需要大量的使用,只是简单的学习是不能真正掌握git的。下一篇就是git的使用详情,敬请期待。