git版本控制软件,通过将工作区的文件备份到Repository,并可以上传到远端服务器,可以方便管理文件(代码)修改、更新情况,回溯到之前的文件,也可以创建新的分支在其上开发。使用方法,先在远端服务器创建repository,然后在本地项目文件夹git initi初始化,创建git文件;然后使用git clone url把远端库克隆下来,如果指定文件夹,需要是空文件夹;如果不克隆,也可以使用git remote 命令连接到远端库。日常备份文件前,需要先git pull,与远端库同步,然后在git add, git commit,git push,推送到远端。
如果日常只固定备份一些文件,忽略一些大文件,可以写脚本,自定义操作
初始化(新文件上传)
- github上创建对应的脚本仓库
- 拷贝ssh地址
- 打开需要备份脚本的路径
- 如果在GitHub项目初始化之前,数据已经存在于本地版本库中,需要先初始化,在其内部生成.git
- 克隆项目仓库到本地
- 获取远程代码仓库中与当前工作分支关联的分支的最新代码,并自动与本地工作分支进行合并
# 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 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
是<本地分支>:<远程分支>远程分支>本地分支>