linux上安装git很简单,唯一的缺点就是不是最新的版本,想要安装最新的版本可以去github上下载源码安装
yum -y install git
安装路径默认在/usr/libexec
查看git的版本
git version
配置用户名和用户邮件.(邮箱不一定要真实存在,一定保证要有的).
git config --global user.name "XXXX"
git config --global user.email "XXXXXXXXXX@qq.com" git config --global user.password tianshan
git config --list (查看是否配置成功)
进入工作目录初始化项目
cd /home/www #进入工作目录
mkdir blog #创建项目
cd blog #进入项目
git init #初始化项目
git status #查看git状态
SSH免密登录(码云)
1.生成公钥:
ssh-keygen -t rsa -C "邮箱@qq.com"
查看公钥:
cat /root/.ssh/id_rsa.pub
将公钥复制到码云
码云这个添加公钥的页面在
设置/安全设置/ssh公钥中
创建origin(短链接推送:git remote add origin https://gitee.com/xxx/xxx
删除:git remote rm origin
查看:git remote -v
git config --global user.password tianshan
这里演示修改本地仓库的用户名和邮箱:
git config --replace-all user.name "name"
git config --replace-all user.email "123@qq.com"
=================================================
git 忽略文件
vim .gitignore
*.txt //忽略所有以.txt结尾的文件不跟踪
!a.txt //可以跟踪a.txt
/vendor //不跟踪vendor文件夹
/vendor/*.php //不跟踪vendor 下的所有php文件
========================================================================
git撤销上次push
git reset --hard HEAD^
注意本地代码会被回退到上次修改前,如果本地已有修改注意备份。
之后,使用 –force 或 -f 参数强制push
git push origin master --force
再看git log就没有上次的提交了
========================================================================
git 恢复被修改的文件
文件在没有没有add之前 被修改,可以git checkout 恢复
git checkout file.txt
(本地文件)
========================================================================
恢复被误删(rm)的文件
rm -rf 1.txt 文件被误删后
git status 会有 deleted 提示
找回被误删文件 :
git checkout 1.txt
====================================================
git add 后的文件如何取消(暂存区)
add 是添加跟踪文件
git add 之后,后悔了,不想跟踪1.txt
git rm --cached 1.txt //远程代码会被删除
=========================================================================
git add 后,想把文件恢复之前的样子
git restore remote.txt
========================================================================
取消上一次commit
git reset --hard commit_id
文件恢复到pull状态 文件内容会丢失 慎用
=======================================================================
忽略已经被追踪过的文件
git update-index --assume-unchanged /path/file #设置忽略跟踪
git update-index --no-assume-unchanged /path/to/file #恢复跟踪
git update-index --skip-worktree /path/file
assume-unchanged 与 skip-worktree 的区别如下:
assume-unchanged:这个会关闭文件与远程仓库的跟踪,认为这个文件远程仓库是不会修改,所以每次pull都是本地的文件
skip-worktree:这个不会关闭文件与远程仓库的跟踪,只是告诉Git不要跟踪对本地文件/文件夹的更改。如果远端仓库内容有变化,pull时会拉取最新的变化,并提示冲突,但因为没有跟踪本地更改,所以需要no-skip-worktree再合并最新的变化。