# test_cooperate **Repository Path**: zhangzining/test_cooperate ## Basic Information - **Project Name**: test_cooperate - **Description**: 练习使用git,并协同工作 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2020-11-24 - **Last Updated**: 2022-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # test_cooperate #### 介绍 练习使用git,并协同工作 **参照:** [csdn](https://blog.csdn.net/u011535541/article/details/83379151) #### 使用说明 1. 新建仓库 ```bash git init ``` 2. 查看当前仓库状态 ```bash git status ``` 3. 添加到暂存区 ```bash git add file.name git rm file.name # 删除文件并把记录提交到暂存区 # 使用上面命令后需要使用 git restore --staged file.name git restore file.name ``` 4. 从暂存区撤销操作 ```bash git reset --hard #完全重置到上次commit git restore filename #重置文件到上次commit ``` 5. 查看文件修改内容 ```bash git diff file.name ``` 6. 提交一次记录 ```bash git commit -m "message" ``` 7. 查看提交记录 ```bash git log git log --pretty=oneline #单行显示 ``` 8. 版本回退 ```bash git reset --hard HEAD^ #回退到上一commit git reflog #查看所有操作过的commit信息 git reset --hard #通过版本号回退到某一commit ``` #### 远程仓库 1. 配置远程连接 [参照上面教程链接] 2. 连接远程仓库 **方法一**: 1. 本地已有git仓库 2. 在gitee中新建仓库 3. ```bash git remote add origin #设置远程分支名为origin git push -u origin master #将远程的origin与本地master分支关联并推送至远程仓库 ``` **方法二:** 1. 在gitee中已有git仓库 2. ```bash git clone git remote add origin #设置远程分支名为origin git push -u origin master #将远程的origin与本地master分支关联并推送至远程仓库 ``` 3. 查看远程库信息 ```bash git remote -v ``` 4. 推送分支 ```bash git push origin master/dev ``` 5. 在本地创建远程分支 ```bash git checkout -b branch-name origin/branch-name # 在本地创建远程仓库中存在的分支并添加关联 $ git checkout -b dev origin/dev Switched to a new branch 'dev' Branch 'dev' set up to track remote branch 'dev' from 'origin'. ``` 6. 拉取分支 ```bash git pull # 如果pull失败,可能需要指定远程分支信息 git branch --set-upstream-to=origin/dev dev # 拉取后可能需要处理冲突信息,然后提交,再push ``` #### 分支管理 1. 创建分支 ```bash git checkout -b #创建并切换到分支 git branch #创建分支 git checkout #切换到分支 git branch #列出当前分支 ``` 2. 删除分支 ```bash git branch -d git branch -D # 强行删除未保存/提交的分支 ``` 3. 合并分支 1. 情况一:dev分支新建的文件master分支没有,执行快速合并(相当于把主分支的指针指向分支,合并时不留下分支的信息) 保留分支信息使用 --no-ff ```bash # on dev branch git commit -m "something" # switch to master git switch master # on master branch git merge dev # not fast forwrd mode git merge --no-ff dev ``` 2. 情况二:dev和master都对同一文件进行更改并commit,合并冲突,需手动解决 ```bash # on dev branch git commit -m "something" # switch to master git switch master # on master branch git merge dev # will merge fail vim file.name # 修改文件中冲突的部分 git add file.name git commit -m "something" ``` 4. 查看提交轨迹 ```bash git log --graph --pretty=oneline --abbrev-commit ``` 5. 储藏当前工作区(入栈) ```bash git stash # 保存当前的工作进度 git stash list git stash apply # 恢复当前stash/指定的stash git stash pop # 恢复当前stash/指定的stash 并删除记录 git stash drop # 删除当前stash/指定的stash ``` 6. 复制修改内容 可以用来在dev中同步主分支中的一个bugfix commit,可能会导致合并冲突,注意hint ```bash git cherry-pick ``` 7. rebase * ```bash ``` #### 分支标签 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)