JGY
「创建博客」 「编辑」 「本文源码」

git

2019-04-30
YJG

目录


git安装
pkg insrall git

2

git登陆
git config --global user.name sxgpyjg
git config --global user.email sxgpyjg@qq.com
# 彩色的 git 输出:
git config --global color.ui true
# 显示历史记录时,每个提交的信息只显示一行:
git config --global format.pretty oneline

3

初始化仓库
mkdir gitdemo && cd gitdemo
git init
# Initialized empty Git repository in /root/gitdemo/.git/

4

生成库
git init    // 在当前目录新建一个Git代码库

5

新建文件,文件夹,编辑,改名,移动文件
mkdir nodejs    //创建文件夹nodejs
cd nodejs       //切换到nodejs目录下
touch 文件名    //新建文件
vim 文件名    //编辑文件
git mv [file-original] [file-renamed]   //改文件名并放入暂存区
git mv ./.git/ ./README.md ../   // 表示把当前目录下的.git文件和README.md文件移动到上一层目录下,之后使用ls -al命令查看该目录发现确实被移动了 

6

添加文件到本地库
echo "# myblog" >> README.md   //在当前目录下新建README.md,且文件内容为'myblog';如果目录下已经有文件,请省略这一步
git add README.md                //将README.md文件提交到问题暂存区
git commit -m "first commit"     //将暂存区文件提交到本地仓库,且本次提交记录为'first commit'
git status -sb      //显示当前所有文件的状态

7

建立连接
git push   //将本地仓库修改内容同步到远程仓库

git pull      //将远程库修改的内容下载到本地库
删除远程文件或文件夹保留本地
//首先cd命令进入要删除的文件或者文件的根目录,directory代表要删除文件相对的当前的目录的路径跟文件名
git rm -r --cached directory
git commit -m "desption"
git push origin master
git push github master  //推送到GitHub远程库
git push gitee master   //推送到码云远程库
//重点:删除哪个远程库文件就推送到哪个库
删除所有记录
git checkout --orphan latest_branch
git add -A
git commit -am "commit message"
git branch -D master
git branch -m master
git push -f origin master
git branch --set-upstream-to=origin/master
git pull

8

跟踪项目文件夹中的所有文件和文件夹

git add -A  提交所有变化
git add -u  提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add .  提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件. 

9

输入本次的提交说明,准备提交暂存区中的更改的已跟踪文件,单引号内为说明内容

git commit -m 'first_commit'

10

关联远程仓库,添加后,远程库的名字就是 origin,这是 Git 默认的叫法,也可以改成别的,但是 origin 这个名字一看就知道是远程库.

git remote add origin https://github.com/sxgpyjg/sxgpyjg.github.io

如果关联出现错误 fatal: remote origin already exists,则执行下列语句再进行关联

git remote rm origin

11

把本地库的所有内容推送到远程库上

git push -u origin master
git push -u github master  //GitHub远程库
git push -u gitee master   //码云库

12

如果在推送时出现错误 error:failed to push som refs to…….,则执行下列语句.

git pull origin master
git pull github master  //GitHub远程库
git pull gitee master   //码云库

将远程仓库 Github 上的文件拉下来合并之后重新推送上去

13

既关联GitHub,又关联码云

先关联GitHub的远程库
git remote add github git@github.com:sxgpyjg/sxgpyjg.github.io
//注意,远程库的名称叫github,不叫origin了。

14

接着,再关联码云的远程库
git remote add gitee git@gitee.com:sxgpyjg/learngit.git
//同样注意,远程库的名称叫gitee,不叫origin。

现在,我们用git remote -v查看远程库信息,可以看到两个远程库

git remote -v

gitee    git@gitee.com:sxgpyjg/learngit.git (fetch)
gitee    git@gitee.com:sxgpyjg/learngit.git (push)
github    git@github.com:sxgpyjg/sxgpyjg.github.io (fetch)
github    git@github.com:sxgpyjg/sxgpyjg.github.io (push)

15

推送到远程库
//如果要推送到GitHub,使用命令

git push github master

//如果要推送到码云,使用命令

git push gitee master

这样一来,我们的本地库就可以同时与多个远程库互相同步

16

恢复删除的文件

一、git ls-files -d 查看删除了的文件

1.查看当前状态可以看到删除了一个index.js;

git status 

2.查看当前项目中删除了的文件

git ls-files -d

3.恢复删除的单个文件

git checkout  -- javascript/index.js

4.如果要恢复多个被删除的文件,直接输入

git ls-files -d | xargs git checkout --

17

二、查看修改了的文件
git ls-files -m

恢复修改文件的方法与恢复删除文件的方法一样,只是 -d 换成 -m;

gitlab中添加了sshkey push/pull时还需要输入用户名密码解决办法

18

ssh连接免密码登录
git config --global credential.helper store

然后操作pull/push 会让输入用户名密码,第一次输入进去。下次再操作pull/push时就不需要输入用户名密码了。

19

git强制覆盖本地命令(单条执行):
    git fetch --all && git reset --hard github/master && git pull 

//github,或使用gitee


  1. 安装 ↩

  2. 登陆 ↩

  3. 初始化仓库 ↩

  4. 生成库 ↩

  5. 新建,编辑,改名,移动 ↩

  6. 添加文件到本地库 ↩

  7. 建立连接 ↩

  8. 上传项目 ↩

  9. 输入本次的提交说明,准备提交暂存区中的更改的已跟踪文件,单引号内为说明内容 ↩

  10. 关联远程仓库,添加后,远程库的名字就是 origin,这是 Git 默认的叫法,也可以改成别的,但是 origin 这个名字一看就知道是远程库. ↩

  11. 把本地库的所有内容推送到远程库上 ↩

  12. 如果在推送时出现错误 error:failed to push som refs to…….,则执行下列语句. ↩

  13. 关联两个库 ↩

  14. 关联码云库 ↩

  15. 推送到远程库 ↩

  16. 恢复删除的文件</font> ↩

  17. 查看修改了的文件 ↩

  18. 使用ssh连接 ↩

  19. 覆盖本地命令 ↩


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏博主

上一篇 爱心添加💕

发布评论

Content