git基本操作汇集
修改刚刚commit的内容:git commit --amend
查看上传的文件信息:git log --stat
查看上传的具体信息:git log -p
退出查看页:q
查看远程仓库的详细信息:1. git remote show 2.git remote show origin [origin 为执行1时所获得结果]
在.gitignore中加入忽略无效的办法:
git rm -r --cached . # 递归删除每个文件夹下的档案
git add .
git commit -m 'update .gitignore'
git push
不再需要某一个文件时:git rm file_path; git commit -m 'del file'; git push
撤销git add:1. git reset HEAD(全部撤销) 2.git reset HEAD 文件(指定文件进行撤销)
当git pull无法获得最新代码时,是因为服务器上的代码和本地代码有冲突,这个时候需要使用git stash将本地藏匿起来,之后就可以git pull,然后git stash pop,就会展现冲突的代码。
<<<<<<<<< 服务器代码 ======= 本地代码 >>>>>>>>
git stash的命令如下:
(1)git stash save "save message" : 执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。(2)git stash list :查看stash了哪些存储
(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{$num},比如第二个 git stash show stash@{1}
(4)git stash show -p : 显示第一个存储的改动,如果想显示其他存存储,命令:git stash show stash@{$num} -p ,比如第二个:git stash show stash@{1} -p
(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{$num} , 比如第二个:git stash apply stash@{1}
(6)git stash pop :命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}
(7)git stash drop stash@{$num} :丢弃stash@{$num}存储,从列表中删除这个存储
(8)git stash clear :删除所有缓存的stash
参考自:https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html
### git stash clear之后,如何恢复代码,分两步
第一步:查找历史stash数据
执行如下操作
git log --graph --oneline --decorate $(git fsck --no-reflog | awk '/dangling commit/ {print $3}')
可以查找到历史添加到stash 中的信息已经相应编号
第二步:恢复数据
可以历史数据的编号,执行如下操作
git stash apply 你的index编号
就可以恢复代码,注意需要关闭IDE
参考:https://www.cnblogs.com/xiaopan-cp9/p/7929079.html
### 10 本地配置多个远程git账号
#### 10.1 生成秘钥
1. 配置用户名和邮箱
git config --global user.name "用户名"
git config --global user.email "邮箱地址"
2. 生成SSH key
ssh-keygen -t rsa -C "邮箱地址"
3. 在.ssh目录下有两个文件
最好自定义名字,将pub文件内容复制到github官网上,或自己搭建的服务器上
#### 10.2 本地配置
在.ssh下创建config文件,内容如下:
#website
Host github.com
HostName github.com
User asdf
IdentityFile ~/.ssh/yeah_net_id_rsa
#company
Host code.zhuowei.com
HostName code.zhuowei.com
User company_account
IdentityFile ~/.ssh/company_id_rsa
其中User表示在网页上的id_rsa.pub内容的title,而IdentifyFile表示本地的id_rsa
### 11 git出现授权问题
重新执行10,一般来说是客户端和服务端的秘钥不对,既然已执行了10,说明在config中的配置存在问题。
# 设置global config
- 增
git config --global --add configName configValue
给指定的级别的指定config增加一个值
- 删
git config --global --unset configName (只针对存在唯一值的情况)
- 改
git config --global configName configValue
- 查
git config --global configName
查询指定级别下: 实际生效的配置值