git使用总结

目录


git版本控制软件,通过将工作区的文件备份到Repository,并可以上传到远端服务器,可以方便管理文件(代码)修改、更新情况,回溯到之前的文件,也可以创建新的分支在其上开发。使用方法,先在远端服务器创建repository,然后在本地项目文件夹git initi初始化,创建git文件;然后使用git clone url把远端库克隆下来,如果指定文件夹,需要是空文件夹;如果不克隆,也可以使用git remote 命令连接到远端库。日常备份文件前,需要先git pull,与远端库同步,然后在git add, git commit,git push,推送到远端。

如果日常只固定备份一些文件,忽略一些大文件,可以写脚本,自定义操作

初始化(新文件上传)

  1. github上创建对应的脚本仓库
  2. 拷贝ssh地址
  3. 打开需要备份脚本的路径
  4. 如果在GitHub项目初始化之前,数据已经存在于本地版本库中,需要先初始化,在其内部生成.git
  5. 克隆项目仓库到本地
  6. 获取远程代码仓库中与当前工作分支关联的分支的最新代码,并自动与本地工作分支进行合并
    # git 初始设置
    git config --global user.name "John Doe"
    git config --global user.email johndoe@example.com
    # 生成ssh
    cd ~/.ssh
    ssh-keygen
    # 初始化仓库
    cd ~/codePath
    git init //仓库初始化(在内部会生成.git文件夹)
    //指定本地不同的目录名,目录名需要为空
    git clone git@github.com:bencheye/ProjectName.git <本地目录名>
    git pull URL (ssh地址)
    

使用方法

第一次使用

git init
git clone url
git add .
git commit -m 'comment'
// main is local repository; master is network repostory; origin is host name
git push origin main:master

后续更新

// 查看当前连接的远端服务器信息
git remote -v
// 移除远端服务器
git remote remove origin
// 添加远端服务器方法
git remote add origin url
pull origin main:main
git add .(some files)
git commit -m ''
git push origin main:main

更新比较不同版本文件差异和回退版本

git status // 查看当前文件状态,在工作区、缓存区还是提交仓库仓库
git log // 查看历次提交记录
git log --oneline // 查看每次提交ID号
git log --oneline --graph // 可以查看具体修改内容
git diff // 比较文件差异
git checkout 提交ID号  // 时光机,回退到之前提交的文件状态
git checkout master // 回到当前分支

添加分支

1. git branch 查看有哪些分支
2. git branch dev 创建一个新的dev分支
3. git checkout dev 将指针转移到dev分支上
4. git merge dev 将dev分支上的修改添加到当前分支
5.  git reset --hard HEAD^ 取消当前分支上的修改
6. git tag v1.0 给当前状态(指针)打上标签

提交文件修改

//文件添加到仓库(.代表提交所有文件)
git add README.md
//把文件提交到仓库, 必须有注释才能提交,最好加上日期
git commit -m 'First Commit'
//上传到github
//将本地仓库的文件提交到别名为origin的地址的master分支下,
-u为第一次提交,需要创建master分支,下次就不需要了
git push -u origin main

例子

cd _posts
git add 2021-04-10\ 上午7.49.21.png
git commit 'first commit'
git commit -m 'first commit'
git status
git push origin master
ls
rm 2021-04-10\ 上午7.49.21.png
ls
ls -lh
rm .Rhistory
git add .
git commit -m 
git commit -m 'detect a file'
git push origin master

更新代码

//提交所有变化
git add -A
//提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add -u
//提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git add .
//process
git init
git remote -v 查看当前连接的是哪个远程库
git remote add origin url url为远程地址
git add -A
git commit -m “描述”
git status 查看仓库状态
git push origin master

名词解释

origin

git remote命令,它会列出每个远程库的简短名字。如果是克隆了一个仓库,此命令会自动将远程仓库归于 origin 这个标识名下。

可以使用修改主机名 git clone -o <远程主机名,默认origin> <ssh地址>

upstrem

origin是本地克隆原始仓库名字,upstream是fork的远程仓库默认的名字

git使用概念图

代码

  • git remote add添加远程主机,
git remote add <主机名> <ssh site>
  • git remote rm删除远程主机

  • git remote rename修改远程主机名

  • git pull 取回远程主机某个分支的更新,再与本地的指定分支合并

    例如:取回origin主机的next分支,与本地的master分支合并

    如果远程分支是与当前分支合并,则冒号后面的部分可以省略。

git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin next:master
  • git push命令用于将本地分支的更新,推送到远程主机。

    git push <远程主机名> <本地分支名>:<远程分支名>
    

    分支推送顺序的写法是<来源地>:<目的地>,所以`git pull`是<远程分支>:<本地分支>

    git push是<本地分支>:<远程分支>