安装git

yum install git

提示是否可以
输入y回车即可安装

设置用户名

git config --global user.name'xxxxx'
git config --global user.email'xxx@xx.com'

进入对应文件夹进行初始化

git  init

此时在该目录下会生成一个.git文件夹

拉取远程仓库代码

git clone http://xxxxx.git

设置永久保存账号密码

进入你的项目文件夹,执行如下指令

git config credential.helper store

然后执行一次拉取

git pull

重新输入一次账号密码,下一次执行git pull时则不再提示

liunx本地有改动git pull失败

git pull拉取远程仓内容的时候有可能会出现以下报错:

error: Your local changes to the following files would be overwritten by merge:
xxx/xxx/xxx.php
Please, commit your changes or stash them before you can merge.
Aborting

这是由于你liunx本地项目有修改而与远程仓的代码冲突,此时有3种解决办法:

  • 直接commit本地的修改(不建议
  • 通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区(常用)
git stash
git pull
git stash pop
  • 放弃本地修改,拉取远程仓代码,原修改代码会丢失并不可恢复(与远程仓一致)
git reset --hard
git pull

更换远程仓

进入项目所在目录

  • 方法一
    查看所有远程仓库
 git remote

查看远程仓

git remote -v

重新设置你新的远程仓库地址

git remote set-url origin http.xxx.git

GIT实现本地和远程仓已经建立关联,但本地修改不再关联并不删除远程仓内容

从远程仓库拉取下来到本地的文件A,本地修改了,但修改不想再被跟踪提交,远程仓库A文件因为多人共用,所以不能删除:
进入项目文件夹,右键Git Bush Here
输入指令:git update-index --assume-unchanged
如果要忽略的是文件,则后面直接写文件名,如a.txt :

git update-index --assume-unchanged a.txt

如果要忽略的是文件夹,则后面写文件夹名加/,如文件夹A :

git update-index --assume-unchanged A/

一旦使用assume-unchanged,文件将不再从远程仓库pull更新,也不再push推送远程仓库了。
如果要恢复跟踪,可使用指令:git update-index --no-assume-unchanged

如果即想要远程仓库对应文件的更新,又不想要将自己本地的修改提交(即关闭GIT跟踪本地文件修改):
进入项目文件夹,右键Git Bush Here
输入指令:git update-index --skip-worktree

git update-index --skip-worktree a.txt

skip-worktree:不会关闭本地文件对远程仓库的跟踪,只是告诉Git不要跟踪对本地文件的更改,pull时会拉取最新的更新。

但要更新则需要no-skip-worktree再pull拉取合并最新更新(即打开GIT跟踪本地文件修改):

git update-index --no-skip-worktree a.txt

某文件夹内文件大批量变动(增删改)后拉取线上后冲突,合并解决后又想放弃本地修改

1.进入项目,右键git bush here ,输入git status 查看状态,出现三个状态列表:

Untracked files未跟踪的状态,这是文件的初始状态,也就是在工作区中的状态,就是新建的文件/文件夹,也没有操作过git add,git压根不知道你这个文件的信息,没有生成快照

Untracked files:(use "git add <file>..." to include in what will be committed)

这个状态下排列的是新建的文件和文件夹

Changes to be committed 即文件在暂存区中生成了快照等待被提交(commit)

Changes to be committed:(use "git restore --staged <file>..." to unstage)

这个状态下排列的是大量A文件夹目录下的删除和修改

Changes not staged for commit 即文件生成过快照,但是又有了新的修改,并且没有生成新的快照

Changes not staged for commit:(use "git add <file>..." to update what will be committed)(use "git restore <file>..." to discard changes in working directory)

这个状态下排列的是大量A文件夹目录下的修改

**三种状态的变换:**①-(git add)-》②-(未commit提交到线上,本地再次修改)-》③

正常git status后只会有状态①或者没有任何更新,如果存在状态①的文件,需要提交,则可以使用指令:git add 文件名 或者 git add . 即将工作区的某个文件、某些文件、或者是所有文件,所作出的修改(新建、删除也算的),添加至暂存区,此时文件就可以进行下一步的git commit了,再使用git status可以看到这些文件的状态变成了②

如果有存在③状态的文件,意思是这些文件有修改的部分没有生成快照,不能进行commit提交
git区域分为工作区(本地所有文件)暂存区(git add 的文件,即提交的文件),使用git commit或点击推送到远程仓会把暂存区的文件更新到远程仓,③状态即还未推送又修改了暂存区的内容

要清理git status下的三种状态文件,使本地与线上关联的文件保持一致:
线上指引:
1清除③状态文件,使用指令:git reset HEAD 文件名或文件夹名
git reset既可以用在版本回退,也可以用在撤销暂存区的修改,将文件重新放回工作区,HEAD代表此前的最新版本;
2清除②状态文件,使用指令:git checkout 文件名或文件夹名
git checkout将该文件在工作区中的修改,全部撤销,返回到最近一次git commit或者git add时的状态;
3再次使用git status可以看到只剩下状态①的文件了

本地测试结果:
1指令操作完之后,git status查看,原来存在①②③三种状态的文件,只剩下①③状态,并且③状态的所有文件前面都带上了modified:

接着操作2指令后,git status查看,只剩下①状态,完成。但从状态的转变看并不是理论上的把③变成②后撤销工作区修改,而是把②变成了③后取消了该文件夹的所有修改同步了线上

补充:
已经使用git commit 提交到本地分支上的修改 回退:可以采用版本回退,回到之前的版本

方案一:

git reset --hard HEAD^

注:HEAD为当前版本、HEAD^为上一个版本、HEAD^^为上上个版本,以此类推

方案二:
先使用 git log --pretty=online 查看版本号记录,再使用git reset --hard 版本号回到之前版本

git log --pretty=online
git reset --hard 版本号

Linux安装git远程拉取代码并设置免密更新相关推荐

  1. linux搭建sftp服务器并设置免密登录

    参考资料:linux环境快速搭建sftp服务以及设置免密 - 渐逝的星光 - 博客园 (cnblogs.com) 网上很多搭建sftp的文章,最后免密登录设置都有点问题,研究了一下终于通了,做个记录 ...

  2. linux安装git并配置GitHub账号,本地与GitHub之间进行文件的上传(push)、下载(克隆)、更新

    0310 Linux和github交互 参考链接: 安装git并配置GitHub账号: 本地与GitHub之间进行文件的上传(push).下载(克隆).更新 上传 下载 更新: 补充:GitHub的原 ...

  3. git拉取代码如何解决冲突_Git工具-git pull拉取代码时冲突的解决办法

    一,在使用git pull命令拉取代码时,有时会遇到以下错误信息: error: Your local changes to the following files would be overwrit ...

  4. linux安装git

    转载自:https://www.csdn.net/tags/NtDacgwsMjkyNi1ibG9n.html linux下安装git可以通过好几种方法实现安装,下面由学习啦小编为大家整理了linux ...

  5. Linux安装VNC远程桌面管理工具

    Linux安装VNC远程桌面管理工具 Linux远程桌面连接方式 虽说高级的Linux运维工程师管理Linux时都是使用"高大上"的命令行操作,可是在有些时候例如Oracle数据库 ...

  6. git pull 拉取代码的时候报错 Pulling is not possible because you have unmerged files.

    项目场景: git pull 拉取代码的时候报错 Pulling is not possible because you have unmerged files. 解决方案: 1. git add - ...

  7. linux安装git安装

    目录 Linux安装 Git安装 创建版本库,浅试一下 许久未更了,今年的3月份去实习了,嘿嘿嘿. 实习回来写了几篇,发现CSDN不太一样了,有种"限流"的感觉.

  8. Linux安装Git详细步骤

    Linux安装Git 安装编译 Git 所需要的依赖: yum install curl-devel expat-devel gettext-devel openssl-devel zlib-deve ...

  9. Linux安装git的命令

    安装git的前提条件是先安装yum. 1.Linux安装git的命令如下: yum -y install git 安装完成: 2.查看Git是否安装完成以及查看其版本号: git --version ...

最新文章

  1. Android AM命令行启动程序的方法
  2. RMAN 备份与恢复深入解析(二)
  3. Android 8.0新特性(看这篇文章就够了)
  4. [Windows Server 2012] Discuz X3安全设置
  5. 通过这个方法竟然可以看到声音传播的速度!?
  6. python中的第三方库 cv2_cv2 python
  7. sql索引面试_关于索引的25个最佳SQL面试问答
  8. 采用Visual Stuidio 2010 创建网站栏
  9. 迁移solaris ufs根文件系统至zfs根文件系统
  10. 【2019华东交通校赛:H】谁在说谎(思维)
  11. 小程序纵向选项卡可以滑动_微信小程序实现选项卡滑动切换
  12. 高动态范围(HDR)渲染——最新中文手册
  13. Science | 华盛顿大学Baker实验室提出新方法设计全新蛋白质
  14. python 大小写字母怎么用数字表示_python判断字符串是字母 数字 大小写(转载)...
  15. android 进退分屏代码策略,Android的分屏模式开发注意事项
  16. 用微信小游戏实现龙舟大战-打粽子
  17. 集群产生的session共享问题
  18. 18-6-2补题记录
  19. 纯 Css 绘制扇形
  20. 如何在php中显示170cm,人人都能170cm!想要显高?来看最实用的这4个方法!

热门文章

  1. raw linux是什么格式的文件怎么打开,raw文件扩展名,raw文件怎么打开?
  2. python 怎么得到图像深度图 软件_如何用 Python 和 fast.ai 做图像深度迁移学习?...
  3. 练字格子纸模板pdf_a4田字格练字纸打印版-练字标准田字格模板-a4打印版下载最新免费excel版-西西软件下载...
  4. ultraedit使用教程
  5. Python学习笔记32:Python线程_多线程的使用_线程执行带有参数的任务
  6. 软件工程复试归纳总结
  7. mc linux 水桶服务器下载,我的世界craftBukkit水桶服三大平台安装完整教程
  8. Linux下用Samba作PDC配置方法
  9. 【转】Android自适应不同分辨率或不同屏幕大小的layout布局(横屏|竖屏)
  10. (ps2019)Photoshop 2019 最新破解版下载