基本知识
1.基本操作指令
- git init 初始化git仓库
- touch file01.txt 目录下创建文件file01.txt
- git add <文件名> 将修改的文件添加到暂存区
- git commit -m “提交说明” 将暂存区的文件提交到本地仓库
- git push <远程仓库名> <分支名> 将代码推送到远程仓库
- git-log 查看提交记录 (别名)
- git reset --hard commitID 版本切换
- git reflog 显示所有的操作,找到已经删除的提交记录
2. 分支
几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离来进行重大的Bug修改,开发新的功能,以免影响开发主线。
下面是分支操作的一些常用命令:
- git branch 查看本地分支
- git branch 分支名 创建本地分支
- git checkout 分支名 切换分支
- git checkout -b 分支名 创建并切换分支
- git merge 分支名 合并分支
- git branch -d 分支名 删除分支,需要做各种检查(不能删除当前分支)
- git branch -D 分支名 不做检查,强制删除
3.冲突
在Git中,当两个分支上的同一文件的同一行代码被修改并提交后,就会发生冲突。
例如,假设我们有一个master
分支和一个feature
分支,两个分支都修改了同一个文件的同一行代码,并提交到了各自的分支上。当我们将feature
分支合并到master
分支时,就会发生代码冲突,因为Git无法自动确定应该使用哪个版本的代码。
此时需要手动解决冲突,可以通过编辑冲突文件,选择要保留的代码,删除不需要的代码等方式进行。解决冲突后,再将修改后的文件提交到本地仓库即可。
需要注意的是,当出现冲突时,最好先将本地代码与远程仓库同步,可以使用git pull命令将远程仓库的代码拉取到本地,应该先解决冲突,再将代码推送到远程仓库,如果pull失败,可以尝试先fetch。
4.远程仓库
-
添加远程仓库
先初始化本地库,然后与已创建的远程库进行对接
git remote add <远端名称> <仓库路径>
远端名称,默认是origin,取决于远端服务器设置
仓库路径,从远端服务器获取此URL
例如:git remote add origin git@gitee.com:yuanzhenwwzs/git_test.git -
查看远程仓库
git remote -
推送到远程仓库
git push [-f] [–set-upstream][远端名称[本地分支名][:远端分支名]] -
如果远程分支名和本地分支名称相同,则可以只写本地分支
git push origin master -
-f:表示强制覆盖,一般不用
-
–set-upstream :推送到远端的同时并且建立和远端分支的关联关系
git push --set-upstream origin master
如果当前分支已经和远端分支关联,则可以省略分支名和远端名
git push 将master分支推送到已关联的远端分支。 -
查看关联关系我们可以用git branch -vv 命令
git branch -vv -
远程仓库克隆
如果已经有一个远端仓库,我们可以直接clone到本地
git clone<仓库名称>[本地目录]
本地目录可以省略,会自动生成一个目录 -
从远程仓库中抓取和拉取
抓取:git fetch[remote name][branch name]
抓取指令就是讲仓库里的更新都抓取到本地,不会进行合并
如果不指定远端名称和分支名,则抓取所有分支
拉取:git pull[remote name] [branch name]
拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于fetch+merge
如果不指定远端名称和分支名,则拉取所有并更新当前分支
使用git与gitee(码云)的远程仓库连接和相关操作
1.首先创建一个gitee的账号,建立远程仓库
2.然后为了确保安全性需要配置SSH公钥:
- 生成SSH公钥
$ ssh-keygen -t rsa输入后只需要回车和输入y; - 获取公钥
$ cat ~/.ssh/id_rsa.pub - 将显示的公钥复制到自己的账号设置->安全设置->SSH公钥下
3.操作远程仓库
- 添加远程仓库:git remote add origin SSH地址
- 将master分支推送到远程仓库,并与远程仓库的master分支绑定关系
git push --set-upstream origin master - 查看远程仓库:将远程仓库克隆到本地
git clone git地址 git_test - 将本地修改推送到远程仓库
将修改加入暂存区并提交到仓库:
add file03
git add .
git commit -m ‘add file03’
将master分支的修改推送到远程仓库
git push origin master - 将远程仓库修改再拉取到本地
git pull
使用idea连接github并用git操作
1.首先要在github上注册账号,然后在idea中关联github账号:
点击加号用token连接,记得生成时需要勾选所有不然可能连接不上。
2.分享项目到github
可能会遇到项目在GitHub上创建了,但是代码没有push上去的情况,可能需要自己再push一下,有时候HTTPS失败可以换成SSH.使用SSH需要先配置SSH公钥,方法和gitee相同。
3.拉取
注意:push是将本地库代码推送到远程库,想要push成功,一定要保证本地库的版本要比远程库的版本高!所以,我们在动手改本地代码之前,一定要先检查下远程库跟本地代码的区别!如果本地的代码版本已经落后,切记要先pull拉取一下远程库的代码,将本地代码更新到最新以后,然后再修改,提交,push!
所以先不要改本地的代码,如果改了,也可能会涉及手动解决冲突的问题。
如果拉取不过来,说明有冲突,可以尝试先fetch(抓取)再合并到本地的主分支上.
4.克隆
在初始页面输入SSH公钥,从GitHub把代码克隆到本地。
感谢大家的阅读,如果有不正确的地方还请多多指教。
欢迎大家留言讨论,如果对您有帮助还请点个赞啊!😄