1. repository(仓库):版本库,一个目录里面的所有文件可以被git管理起来,且每个文件的修改,删除,添加,git都能跟踪,用来还原某一时刻最满意的代码(自己的理解)。
2. commit(提交):将代码从暂存区提交到仓库(如下图右半部分:工作区(workspace)->暂存区(Index)->仓库(Repository))先使用git add .(所有文件用点,单个文件用文件名)将代码从工作区(workspace)存到暂存区(Index),在使用git commit将代码从暂存区(Index)提交到仓库(Repository)。
3. branch(分支):多人同时开发,其作用能使代码互不干扰,且后期可合并成一个master分支。
workspace(工作区)
Index(暂存区)
Repository(仓库)
# git作为分布式控制系统,需要填写用户名和邮箱作为标识
git config --global user.name "YOUR NAME" # 你的github登录名字
git config --global user.email "YOUR EMAIL" # 你的github登录邮箱
git init # 将当前目录作为git仓库,初始化
git add <filename>or<.> # 将文件从工作区添加到暂存区,.代表所有文件,<filename>代表一个文件文件名
git stash # 暂存区,修改代码,不想提交,可以先放到暂存区
git stash pop # 回滚暂存区存储的代码
git commit -m "XXX"("first commit") # 提交版本
git commit -a -m "XXX" # 修改了很多文件,但不想每一个都add,想commit自动来提交本地修改,使用 -a
git clone ssh://XXXX # 从服务器克隆一个库
git push ssh://XXX # 将修改之后的代码推送至服务器
git pull http://XXX # 将当前分支自动与唯一一个追踪分支进行合并
git rm file # 删除文件
git branch XXX # 建立一个新分支XXX (主分支为master)
git branch -a # 查看所有分支
git branch -d XXX # 删除本地分支XXX
git push origin --delete XXX # 删除git服务器上的XXX分支
git checkout XXX # 更改分支
git checkout. # 回滚至上一次提交的版本
git merge XXX # 合并分支
git status # 查看提交状态
git log # 查看历史记录
git reset --hard HEAD^(填写相应的版本号) # 将当前版本退回到上一个版本
git reset --hard origin/$brach # 放弃修改,回归修改前的版本,场景:合并分支到master,合并后发现没有权限,这时代码已经修改,push时都会报错。让有权限的人合并,我这里的合并已经不需要了,使用这个命令放弃之前的合并。)
git reflog # 获取所有版本的版本号
- 最后最复杂的远程仓,也是如何使用github网站!
首先创建SSH KEY
ssh-keygen -t rsa -C "youremail@example.com"
id_rsa.pub是公钥,可以放在github网站上!
1.在github的网站上,选择你个人的头像,再点击settings
2.选择 SSH and GPG keys -> New SSH Key
- 添加title与SSH Key
4.验证是否成功,在git bash输入,并且输入yes!
ssh -T git@github.com
5.添加远程仓,选择 + -> New repository
注意其中的README file、gitignore、license等根据你想要的方式都选上!
# create a new repository on the command line
touch README
git init
git add .
git commit -m "first commit"
git branch -M main
git remote add origin https://XXX
git push -u origin main
# push an existing repository from the command line
git remote add origin https://XXX
git push -u origin main
git remote -v # 检查远程仓配置
git remote rm origin # 删除本地配置
git remote add origin XXXX # 设置相关地址
main分支分配权限
出先问题1,如下图:
说明本地仓和远程仓版本不一致!
解决:可以通过git pull 先将本地仓与远程仓更新一致,可以使用git fetch,看情况选择合并,或者将本地库修改过文件备份,git pull后再重新修改,之后git push。
或者直接git push -f强制上传。
git pull --rebase origin main
git push -u origin main
出先问题2,如下图:
解决:打开电脑 C,找到 known_hosts 文件,然后清空这样代码就可以正常提交了
出先问题3,如下图:
说明你的文件大于100M。
解决:缩小你的文件,之后再继续code。
出先问题4,如下图:
解决
git config --global http.sslVerify "false"
之后再执行:
git push -u origin main
成功!