git 比 svn
3个人 其中一个人
svn 必须联公司内网 只有一份文件
git 3个人 30个人 同时使用
git 可以不联网
分支: 一个分支就是一个项目的目录
// A B C
main 主分支: 上线分支
A: 2010
B: 2010
C: 2010
建一个新项目的 git 仓库
* 点 new
* 填入项目名称
* 选择 private(私钥)
* 点击最下面的按钮
* 随便建一个目录 里面建一个文件
* 在命令行里进入刚才新建的项目
* git init (初始化本地 git 仓库)
* git add . 将工作区的被修改的文件和新增的文件提交到暂存区,不包括被删除的文件
* git commit -m "first commit" 将暂存区所有文件添加到本地仓库
* git branch -M main
* git remote add origin git@github.com:1937444194/2006A.git
* git push -u origin main
* 一个git项目 可以有多个分支, 每个分支都是一个独立的项目
* 添加 git 权限
进公司之后 git 的配置
* git config --global user.name git右上角的名称
* git config --global user.email "git账号是公司给你新开的"
* 配置 公钥 私钥
ssh-keygen -t rsa -C "公司给你的登录账号"
cat ~/.ssh/id_rsa.pub // 打开公钥, 拷贝所有内容
* git clone: 拷贝 git 项目到本地
* git status: 查看本地文件状态
* git log: 查看提交日志
* git add .: 跟踪文件 把代码保存到缓冲区
* git commit -m '描述文字(有意义的)': 把项目提交到本地仓库
* git push origin 分支名: 提交 (当前在哪个分支下面 就只能往当前这个分支 push)
* git branch -v: 查看本地分支, *号表示当前在哪个分支上
* git branch -a: 查看本地和远程的分支
* git checkout -b 分支名: 基于本地分支创建自己本地的分支
* git checkout 分支名: 切换分支 (只有当前分支上没有任何修改了 才能切换分支)
* git checkout -b 分支名 origin/分支名: 基于远程分支创建自己本地的分支
* git pull origin 分支名: 拉取最新代码
* git fetch: 同步远程分支
* git merge 分支名: 把分支代码合并到当前分支
* git diff: 查看修改了具体的文件代码
* git reset --hard commit哈希值: 回滚代码
* git reset .: 撤销 add
* git checkout (文件名 | .): 撤销修改
* git reflog: 查看所有所有命令的日志
* git stash save '描述文字': 把修改的代码 缓存到缓冲区, 代码就变成没改之前的样子
* git stash list: 查看存储的缓存列表
* git stash apply: 回到最近储藏
* git stash apply stash@{位置}: 回到某一个存储上 从0开始
* git stash clear: 清空所有 stash
* git reset --mixed HEAD~1: 回退commit
git branch -v: 查看本地分支
git diff: 查看修改了哪些文件
* git branch --delete (分支名字) 删除分支
* git push origin --delete branch 命令删除远程分支
你在哪个分支就只能往哪个分支提交代码
1. 修改代码
2. git status (注意看 这些文件是不是你要改的)
3. git diff 查看最新本地版本库和工作区所有文件的区别
4. git add . 将工作区的被修改的文件和新增的文件提交到暂存区,不包括被删除的文件
5. git status 查看所有文件状态
6. git commit -m '分支名字' 将暂存区所有文件添加到本地仓库
7. git status
8. git push origin '分支名字' 推送当前本地分支到指定远程分支