Git下载及安装
https://git-scm.com/downloads
基本认知
1.工作区,暂存区,本地仓库,远程仓库
1.默认配置即可
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
## 查看配置信息
git config --global --list
分支一导读:使用远程仓库(gitlab)
将你的账号去仓库个授权即可,之后clone的时候回弹出账号密码框,输入即可
分支二导读:使用远程仓库(github)
1.获取仓库的地址
2.在本地创建一个仓库
# 第一次提交的话,新建个远程仓库,再进行关联
# 关联本地和远程的仓库
git remote add origin https://github.com/XXX/XXX.git
-----
1.git init
2. git add . 提交该目录下的所有文件
3.git commit -m "XXX"(提交到本地仓库)
4.git remote add origin *** (***git地址)
5.git pull (拉取信息)
6.git push -u -f origin master
ssh-keygen -t rsa -C "your@email.com"
回车
系统会自动在.ssh文件夹下生成两个文件,id_rsa和id_rsa.pub,用记事本打开id_rsa.pub,复制
打开https://github.com/,登陆你的账户,进入设置
使用http
git clone git@github.com:FeGitHub/PAMS.git
git clone https://github.com/FeGitHub/PAMS.git
git基础命令语句
提交
git pull
git pull origin develop
-- 直接拉取最新代码到本地
-- git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作-- -- 本机分支中。而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = -- git fetch + git merge,这样可能会产生冲突,需要手动解决。
git add .
不加参数默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除
git add -u .
-u 表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件,注意这些被删除的文件被加入到暂存区再被提交并推送到服务器的版本库之后这个文件就会从git系统中消失了。
git add -A .
-A 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。
git commit -m "描述"
git commit --no-verify -m "XXX"
git push -u origin master
git push -u origin develop
git reset --hard fdeb212a5418cc8e31f32d63cf197550297468ec --回滚到某次提交(只影响本地,不影响远程仓库)
-- 恢复到上一次的提交
git checkout + 需要恢复的文件名(要对应的路径的)
-- 还原所有未缓存
git checkout .
git add test.txt Test.java --需要加具体的相对路径,就是git status出来的那个
-- npm run lint --检验格式代码并自动修复
--查看单个历史记录
git log src/pages/XXXX
-- 还原单个文件
git checkout 195e44f08110bc078b86dd55c66dea3fb4cd9571 src/pages/XXXX
-- 移除版本控制
https://blog.csdn.net/inthat/article/details/106143355?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-1-106143355.nonecase&utm_term=idea%E4%B8%AD%E6%8A%8A%E6%96%87%E4%BB%B6%E7%A7%BB%E9%99%A4%E7%89%88%E6%9C%AC%E6%8E%A7%E5%88%B6
配置信息
git config --list
查看本地文件信息
git status
查看工作区和暂存区的文件修改的信息,比如红色的是记录是工作区的信息,绿色的是暂存区的信息
分支命令
git branch -- 查看当前分支
git branch -a -- 查看所有分支
git checkout 分支名 --切换分支
#更新出远程分支索引
git fetch
git add 添加错文件 撤销
撤销操作
git status 先看一下add 中的文件
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了
commit撤销
现在想撤销之前的commit,可以用
git reset --soft HEAD^
https://blog.csdn.net/vxzhg/article/details/110704701
采用的方法(强制覆盖本地数据):
git fetch origin
git clean -f
git reset --hard origin/master
回滚
git log XXX.java
git reset id XXX.java
查看历史提交记录
git log
git show XX
git diff 5ce388ea3ecb07e83e136d565cb0a94e95e95b79 73db11ef114483e0385367a5b7ceed180185ecb5 --stat
参考资料:https://www.liaoxuefeng.com/wiki/896043488029600
分支合并
条件:
主干:master
分支:develop
目标:合并分支到主干
前提:只讨论快速合并
(1)切换到主干
git checkout master
(2)git merge develop
切换账号
## 账号 A
git config --global user.name "userA"
git config --global user.email "userA@qq.com"
-- ssh-keygen -t rsa -C "userA@qq.com"
## 账号B
git config --global user.name "userB"
git config --global user.email "userA@qq.com"
-- ssh-keygen -t rsa -C "userB@qq.com"
# 只要配置了 SSH key,覆盖账号配置即可
一些情况的特殊处理
(1)pre-commit hook failed (add --no-verify to bypass)
将git commit -m “XXX” 改为 git commit --no-verify -m “XXX”
– git拉取代码出现Unpacking objects
将https://github.com/xxxx.git 换成了git://github.com/xxxx.git 完美解决
– 清除版本控制
find -name ".git" | xargs rm -Rf
git 同步GitHub和码云
https://www.jianshu.com/p/1b2ebf3b8cc1
git add .
git commit -m "update"
#提交到github
git push github master
#提交到码云
git push gitee master
#从github拉取更新
git pull github
#从码云拉取更新
git pull gitee
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "github"]
url = https://github.com/XXX/XXX.git
fetch = +refs/heads/*:refs/remotes/github/*
[remote "gitee"]
url = https://gitee.com/XXX/XXXX.git
fetch = +refs/heads/*:refs/remotes/gitee/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "develop"]
remote = github
merge = refs/heads/develop
忽略提交文件
https://blog.csdn.net/u014259503/article/details/82775651
关于IDEA结合Git
https://blog.csdn.net/geng31/article/details/78585557
Git 多用户配置
https://blog.csdn.net/yuanlaijike/article/details/95650625
关于多项目放在同一个库
建议想创建.gitignore 文件,然后初始话,注意。idea创建的话,子文件含有.idea会不被版本控制
touch .gitignore
/JPA-DEMO/target/
git – Authentication failed for 修改密码后遇到的坑
找到你关联的那个库,–>删除 --> 完事.
然后你再去拉代码,会提示你重新输入用户名密码。就没问题了
git config --global --unset http.proxy