git的各种指令

git的各种指令

一.git的配置

1.创建版本库

  • 使用git bash进入需要管理的目录,在该目录下使用git init就可以将其设置为可以管理的仓库
    注意:该操作会在目录下生成一个.git的隐藏目录,用来跟踪管理版本库

2.为版本库绑定用户名和Email地址

git config user.name "xxx" —— 绑定用户名
git config user.email "xxx@xxx.com" —— 绑定email地址

若要绑定全局,则在config 后面加上 --global即可

二.文件的增删改

1.上传文件

git add —— 将文件添加至本地仓库中
git commit -m"xxx"  —— 将文件提交至远程仓库,“xxx”为版本更新的说明内容,利用好可以方便以后的版本控制

2.版本回退

git log —— 查看版本历史记录

如果嫌信息太杂,可加上 --pretty=oneline实现单行输出

git reset --hard 版本号—— 实现版本回退

版本号可以不写全,git会自动补全

git reflog —— 返回命令历史记录

3.修改管理

git status —— 查看仓库状态
git add + git commit —— 实现版本修改
git reset HEAD <文件名> —— 将暂存区的修改回退到工作区
git checkout --文件名 —— 将工作区的修改全部撤销

4.删除文件

git rm 文件名 + git commit —— 删除文件并修改暂存区

若删除错了,可用git checkout一键还原

三.远程仓库

1.创建SSH KEY

ssh-keygen -t rsa -C "xxx@xxx.com" —— 在目录下创建ssh key
  • 登录github,打开“Account settings”,“SSH Keys”页面,点“Add SSH Key”,填上任意标题,在Key文本框里粘贴主目录下.ssh/id_rsa.pub文件的内容
    创建ssh key可以让github识别推送是自己的,而不是别人的,意味着只有自己才能推送

2.添加远程库

  • 在GitHub上创建一个新的仓库
git remote add origin git@github.com:账户名/仓库名.git

origin 是远程库名,默认

git push origin master—— 将本地库的内容推送到远程库
git clone git@github.com:账户名/仓库 —— 克隆远程库到本地

四.分支管理

1.创建分支

git branch 分支名 —— 创建分支/查看分支
git checkout 分支名 —— 切换
git checkout -b 分支名 —— 创建并切换分支名
git merge 分支名 —— 将分支修改的内容合并到master分支上
git branch -d 分支名 —— 将分支删除
git switch -c 分支名 —— 创建并切换分支名(新)
git switch 分支名 —— 切换分支

2.冲突

  • 当分支与master分支同时修改一项内容造成冲突时,git会发出警告,必须手动解决冲突后才能解决

3.分支管理策略

git在合并分支时,会进入fast foward模式,在此模式下删除分支,分支的信息将会被全部删除

git merge --no-ff 分支名 —— 禁用ff模式

4.暂存工作分支(用于中途修bug)

git stash —— 将当前工作分支暂时存储
git stash apply —— 恢复当前存储的工作
git stash drop —— 删除stash里存储的工作
git stash pop —— 恢复并删除
git stash list —— 查看暂存工作
git cherry-pick —— 将当前分支的修改作用在master上,与合并区分

5.强行丢弃分支

git branch -D 分支名 —— 强行删除未合并的分支

6.协作

git push origin 分支名 —— 推送分支
git pull —— 将最新提交从远程抓取到本地
git branch --set-upstream 远程分支名 分支名 —— 将本地分支与远程分支连接

当多人同时对一个分支修改并发生冲突时,可以先用git pull将远程修抓取后,再手动解决并重新push

7.骚操作

git rebase —— 将分叉的分支历史归成一条直线

五.标签管理

1.创建标签

git tag v1.0 —— 给当前分支打一个标签
git show v1.0 —— 查看该标签修改的信息

2.标签管理

git tag -d v1.0 —— 删除标签
git push 仓库 v1.0 —— 推送标签至远程仓库
git push 仓库 :refs/tags/v1.0 —— 删除远程库中的标签

六.自定义

git config --global alias.st status —— 自定义指令
  • .gitignore文件下:
    *.txt可过滤txt文件,此时git不会将这些文件提交至远程

七.多人协作流程

git clone 仓库地址 —— 克隆远端仓库到本地
git remote add upstream 仓库地址 —— 添加主仓的远程地址
git remote -v —— 查看仓库状态
git fetch upstream —— 拉取主仓库文件
git checkout master —— 切换到master
git merge upstream/master ——合并远程分支
git checkout -b dev ——创建新分支
git merge master ——合并新分支
  • 接下来是add commit push三部曲了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值