linux下git的安装与使用

linux上安装git很简单,唯一的缺点就是不是最新的版本,想要安装最新的版本可以去github上下载源码安装

 yum -y install git 

安装路径默认在/usr/libexec 

linux下git的安装与使用_第1张图片

 推荐源码安装

linux下安装git-CSDN博客

查看git的版本

git version

配置用户名和用户邮件.(邮箱不一定要真实存在,一定保证要有的).

git config --global user.name "XXXX"
git config --global user.email  "[email protected]"  

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"

 linux下git的安装与使用_第2张图片

查看公钥:

cat /root/.ssh/id_rsa.pub

将公钥复制到码云

linux下git的安装与使用_第3张图片

码云这个添加公钥的页面在 

设置/安全设置/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 "[email protected]"

=================================================
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   文件被误删后

linux下git的安装与使用_第4张图片

 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再合并最新的变化。
 

你可能感兴趣的:(git,linux,linux,git)