标签:标识 ase comm 参数 发布 soft 面向 drop 两种
Git | SVN |
---|---|
Git是一个分布式的版本控制工具 | SVN 是集中版本控制工具 |
它属于第3代版本控制工具 | 它属于第2代版本控制工具 |
客户端可以在其本地系统上克隆整个存储库 | 版本历史记录存储在服务器端存储库中 |
即使离线也可以提交 | 只允许在线提交 |
push/pull 操作更快 | Push/pull 操作较慢 |
工程可以用 commit 自动共享 | 没有任何东西自动共享 |
Git 是分布式版本控制系统,可以跟踪文件的更改,并允许你恢复到任何特定版本的更改,优点是它不依赖于中央服务器来存储项目文件的所有版本。每个开发人员都可以“克隆”“Local repository”标注的存储库的副本,并且在他的硬盘驱动器上具有项目的完整历史记录,因此当服务器中断时,你需要的所有恢复数据都在你队友的本地 Git 存储库中。还有一个中央云存储库,开发人员可以向其提交更改,并与其他团队成员进行共享。
创建存储库: git init
更改git配置: git config
关联用户名: git config --global user.name "名字"
关联email: git config --global user.email "邮件"
提交命令: git commit -m "注释"
检查当前文件状态: git status
提出更改(把它们添加到暂存区): git add filename?(针对特定文件)、git add *(所有文件)、git add *.txt(支持通配符,所有 .txt 文件)
移除文件: git rm filename (从暂存区域移除,然后提交)
对文件重命名: git mv README.md README
跳过使用暂存区域更新的方式: git commit -a -m "注释" -a:跳过git add 步骤,自动把所有已经跟踪过的文件暂存起来一并提交
推送代码到远程仓库: git push origin master
取消暂存的文件: git reset filename
撤销对文件的修改: git checkout -- filename
git reset --hard origin/master
尝试重新提交: git commit --amend
丢弃本地修改,拉取最新代码,并本地主分支指向它: git fetch origin git reset --hard origin/master
创建新分支: git branch test
切换新分支: git checkout test
合并分支(可能会有冲突): git merge test
删除分支: git branch -d test
撤销提交信息:
然后,通过git log确认是否成功撤销;
参数soft:保留当前工作区,以便重新提交
参数hard:会撤销相应工作区的修改
撤销:
修改代码,重新提交和推送:
总结:git pull = git fetch + git merge
获取特定提交中已更改的列表文件:
git diff-tree -r {hash}
给定提交哈希,这将列出在该提交中更改或添加的所有文件。?-r?标志使命令列出单个文件,而不是仅将它们折叠到根目录名称中。
git diff-tree –no-commit-id –name-only -r {hash}
-no-commit-id:将禁止提交哈希值出现在输出中
-name-only:只会打印文件名而不是它们的路径
两种方式:
git reset --soft HEAD~N && git commit
git reset –soft HEAD~N &&
git commit –edit -m"$(git log –format=%B –reverse .HEAD@{N})"
最后告诉他们分支策略因团队而异,所以我知道基本的分支操作,如删除、合并、检查分支等。
标签:标识 ase comm 参数 发布 soft 面向 drop 两种
原文地址:https://www.cnblogs.com/yzh-blog/p/11669774.html