目录
git使用:
- 刚进入公司,一般是用克隆去拉取本地代码的,但是这样的话可能你需要重新与远程建立链接,我们可以先拉取代码,这样的话后面能省点事
先在本地创建一个文件夹,放置你所要放的文件
mkdir xxx(文件夹名)
进入这个文件夹
cd xxx
然后本地初始化,会在你的文件夹下面有一个.git文件(这个文件是隐藏的文件)
git init
然后与远程建立链接
git remote add origin git@gitlab.xxx.com:lib/xxx.git
检查是否连接上远程
git remote -v
拉取代码某一个分支的代码
git pull origin xxx(分支名)
然后你用git branch一下就会发现,在本地master分支上
git branch
* master
现在你要是用idea打开你本地的代码,修改了其中的代码,先提交到本地库里面。
只是修改了代码,你可以先查看一下修改哪些类
git status
如果你想看看每一个类里面修改了哪些内容
git diff (建议不要轻易用否则一个项目太大你会后悔的) / git diff xxx(文件名)
如果上面执行完了确认无误的话,现在提交代码到缓存区
git add xxx(可以是一个文件,也可以是多个文件)
提交到本地仓库
git commit -m "这次修改的说明"
以上就把你代码中修改的部分提交到本地仓库了
现在可以提交到远程仓库了
在提交到远程仓库之前可以先查看一下远程仓库的分支分布
git branch -a
问题一:主分支代码更新,想将主分支的代码更新到子分支
第一步:切换到本地的仓库,更新为最新的代码。
第二步:切换到要同步的子分支上。
$ git checkout 分支名
第三步:在子分支上运行 git merge master 就会将主分支的代码同步到子分支上。
$ git merge master
merge: master - not something we can merge
Did you mean this?
origin/master
$ git merge origin/master
第四步:在子分支查看当前的代码状态 git status
第五步:git add . 将代码添加到本地仓库
第六步:git commit -m '主分支同步到子分支'
第七步:git push 将同步后的代码上传到git 服务器上托管。
git push origin 子分支
问题二:将代码提交到远程仓库,想回退
-
1、查看版本号:
可以使用命令“git log”查看:
-
2、使用“git reset --hard 目标版本号”命令将版本回退:
再用“git log”查看版本信息,此时本地的HEAD已经指向之前的版本: -
3、使用“git push -f”提交更改:
此时如果用“git push”会报错,因为我们本地库HEAD指向的版本比远程库的要旧:
所以我们要用“git push -f”强制推上去,就可以了:
问题三:各种情况的回退代码
情况1:已 add 未 commit
- 从暂存区移除文件,执行后修改的东西还在,文件退回到unstage区
git reset HEAD <路径/文件名> //移除单个 git reset HEAD . //移除全部
情况2:已 add 已commit
-
–mixed:不删除工作空间(你本地的代码)改动代码,撤销commit,并且撤销git add . 操作
git reset --mixed HEAD^ 和 git reset HEAD^ 效果一致
-
–soft:不删除工作空间改动代码,撤销commit,不撤销git add .
# 执行完commit后,想撤回commit,这种情况下用 git reset --soft HEAD^
-
–hard:删除工作空间改动代码,撤销commit,撤销git add . 慎用
git reset --hard HEAD^
git commit --amend 说明
-
直接命令行修改
git commit --amend -m 'new commit message' # 直接修改上一次 commit
-
简单修改提交的注释,参考下面链接
https://www.jianshu.com/p/7d40838883af -
修改提交的内容,参考下面链接
https://blog.csdn.net/Aqu415/article/details/126676557