说明
- 自己写代码,写到一定程度,会出现一些问题:比如有很多代码文件,又刚好改代码,但是不清楚改的如何,就需要对自己代码进行
备份
。 - 备份多了,可能会发现自己管理代码太
多
。这时候,就需要一个仓库来管理
我们的代码。直接push上传我们代码,也能随时回退,在不同设备也能随时访问到仓库。 - 而学会使用
git
能够帮助我们将代码管理好,也可以丰富自己的github, gitee。
创建仓库,并关联远程仓库
- 在进行下面操作时
- 要先注册github\gitee账号
- 要新建一个仓库
- 要先配置好ssh,或者使用token。
# bash里taken使用格式
git remote set-url origin https://你的token@你的仓库地址
# 即:url的https://后插入token其它不变
# https://<your_token>@github.com/<USERNAME>/<REPO>.git
# 初始化一个仓库
git init
# 配置全局变量,github\gitee的用户名
git config --global user.name "your nane"
# 配置全局变量,github\gitee的邮箱
git config --global user.email "your email"
# 添加add修改
# 添加文件
git add xxx.txt
# 添加当前目录
git add .
# 添加commit注释
git commit -m "这是一个注释说明"
# 与本地建立仓库连接(URL:是仓库url地址) -- 关联远程仓库
git remote add origin URL
# 提交本地代码到仓库(master是一个(主)分支名称)
git push origin master
# 如果本地为空,创建空仓库
git push -u origin master
# 保存密码缓存 global, system, local
git config --global credential.helper store
# 清楚密码缓存
git config --local --unset credential.helper
创建新分支
# 列出所有分支
git branch -a
# 创建分支
git branch 分支名称
# 切换分支
git checkout 分支名称
# 删除分支
git branch -d 分支名称
合并分支
# 切换到master分支
git checkout master
# 把(要合并的分支)test合并到master分支
git merge test
# 提交master分支到服务器
git push origin master
# 两个根本不相干的 git 库, 一个是本地库, 一个是远端库
git pull origin master --allow-unrelated-historie
内容更新
git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。
git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)
git add -A :是上面两个功能的合集(git add --all的缩写)
git reset :撤销上一次add内容
git status
git add -A or git add -u
# 能提交修改过,但是没有添加到缓存区的文件(修改过的就能提交)
git commit -a -m "update"
git push origin master -f
#debug
# Updates were rejected
git pull origin master
# rebase后pull失败
git fetch
git reset ---hard origin/master
# refusing to merge unrelated history
git pull --rebase origin master
git push origin master
git pull origin master --allow-unrelated-histories
git push origin master
版本回退
# 查看历史版本,获取logID
git log --pretty=oneline
# 恢复历史版本
git reset --hard logID
# 修改推送到远程服务器
git push -f -u origin master
git pull
仓库分支改名
仓库在github中改分支名称,本地同步
将master分支改名成new_name(先在github里改好)
git branch -m master new_name
git fetch origin
git branch -u origin/new_name new_name
git remote set-head origin -a