linux下git的安装与使用

1 篇文章 0 订阅

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

 yum -y install git 

安装路径默认在/usr/libexec 

 推荐源码安装

linux下安装git-CSDN博客

查看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 clone 项目时候,在本地运行需要修改配置文件,如果直接这样做:

git rm --cached config.json

config.json 文件添加到 .gitignore

git add 

git commit

git push

远程仓库的配置文件会被删除,导致项目运行报错

正确做法:

  1. 首先,将 config.json 文件添加到 .gitignore 文件中,确保它不会被 Git 跟踪。

  2. config.json 文件添加到 .gitignore

  3. git update-index --assume-unchanged config.json

  4.    git add .
       git commit -m "Ignore and stop tracking config.json"
       git push

  5. 本地的config.json会被忽略,远程仓库的配置文件不会变。其他人再次clone 需要再次配置,这个配置只能在当前本地环境生效
       

========================================================================

 

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值