本文主要是介绍git,svn,cvs,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
svn,cvs:集中式版本控制系统,有中央服务器,开发者从中央服务器更新自己电脑的源码,修改完成后,提交到中央服务器
git:分布式版本控制系统,每个开发者电脑上源码都是一个完整的版本,各自修改然后互相推送,相互之间能看到各自修改的地方
git学习笔记
git fetch
是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
git merge 合并本地分支
git pull = git fetch + git merge(这样可能会产生冲突,需要手动解决。)
git 修改文件夹名字
git mv -f oldfolder newfolder
git add -u newfolder // (-u选项会更新已经追踪的文件和文件夹)
git commit -m "changed the foldername whaddup"
git push
git创建本地 .gitignore 文件
在git窗口输入: touch .gitignore,即可。
生成公钥:ssh-keygen -t rsa -C "你的邮箱"
查看公钥:cat ~/ .ssh/id_rsa.pub
克隆线上目录到本地:git clone git@gitee.com:XXXX
提交修改到缓存区:git add .
提交修改到本地仓库:git commit -m '本次提交描述'
撤销 commit: git reset --soft HEAD^
提交修改到线上:git push
强制提交
git push -f origin ‘远程分支名称’
git push -f origin master
创建远程分支:git push origin '新分支名称'
删除远程分支
// 以下都可以删除远程分支
git push origin --delete 分支名称
git push origin -d 分支名称错误写法:1.git push origin --d 分支名称2.git push origin -delete 分支名称
创建本地分支
git checkout -b '新分支名称'
// git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
// git branch dev // 如果被检测到没有 dev 这个分支,则会自动创建一个dev
// git checkout dev // 切换到dev分支
删除本地分支
git branch -d 分支名称
其他命令
git branch //查看本地所有分支 git branch -r //查看远程所有分支git branch -a //查看本地和远程的所有分支git branch <branchname> //新建分支git branch -d <branchname> //删除本地分支git branch -d -r <branchname> //删除远程分支,删除后还需推送到服务器
git push origin:<branchname> //删除后推送至服务器git branch -m <oldbranch> <newbranch> //重命名本地分支//git中一些选项解释:-d
--delete:删除-D
--delete --force的快捷键-f
--force:强制-m
--move:移动或重命名-M
--move --force的快捷键-r
--remote:远程-a
--all:所有// 都可以删除本地分支
git branch -D 分支名称
git branch --delete 分支名称注意:1.错误写法 git branch -delete 分支名称2.建议统一使用 -D / --delete,和删除远程分支指令统一
新创建的分支,关联远程分支
git branch --set-upstream-to=origin/remote_branch your_branch
// 使用git在本地新建一个分支后,需要做远程分支关联。
// 如果没有关联,当使用 git pull或者 git push指令时,会提示你关联,这时执行以下指令即可:// git branch --set-upstream-to=origin/remote_branch your_branch// origin/remote_branch:是你本地分支对应的远程分支名字
// your_branch:是你本地分支名字
git commit 提交忽略eslint --fix
git commit --no-verify -m "备注" // 忽略 eslint --fix
git 创建 .gitignore 文件:
touch .gitignore配置规则:空行或者以#开头的都会被git忽略可以使用标准的golb模式比配/: 表示忽略的是目录!: 表示不忽略匹配到的文件或者目录*: 表示通配多个字符?: 表示通配单个字符[]: 包含单个字符的匹配列表git 对于.gitignore 文件是从上到下进行规制匹配的,如果前面的匹配规则过大,那么后面的将不会生效/*:忽略全部的内容!/ll/llll/:不忽略根目录下的/ll/llll/llll/*:忽略目录llll下的全部内容 注意不管是根目录还是 其他的子目录都会被忽略 /llll/*:忽略根目录llll下的全部内容 *.html:忽略所有.html结尾的文件!lib.htmml:除了lib.htmml除外/TODO:仅仅忽略根目录下的TODO文件 不包括lllll/TODOdoc/*.html:忽略doc/ddd.html文件 但是不包括doc/longd/lll.html文件例如:.DS_Store
node_modules/
dist/
npm-debug.log
.idea/
.gitignore文件不起效?
// gitignore 不起作用的解决办法git rm -r --cached .
git add .
git commit -m 'update .gitignore' //windows 使用的命令是
git commit -m "update .gitignore" 需要使用双引号/**.gitignore文件,具体的规则一搜就有.我在使用GIT的过程中,明明写好了规则,但问题不起作用,
每次还是重复提交,无法忍受.其实这个文件里的规则对已经追踪的文件是没有效果的.
所以我们需要使用rm命令清除一下相关的缓存内容.这样文件将以未追踪的形式出现.
然后再重新添加提交一下,.gitignore文件里的规则就可以起作用了.
*/
git日志git log
git log -p -2 // -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新
查看某个文件的修改提交版本:
git log --pretty=oneline 文件路径
git log --pretty=oneline H:\kaiking\project\app\app\src\main\assets\www\js\eyesightscreen.js// 定制格式:
1.git log --pretty=format:"%h - %an, %ar : %s"
效果:
3721fcfa - kaiking_g, 5 weeks ago : 继上微调
d4232b8e - kaiking_g, 5 weeks ago : 同步代码2.git log --pretty=format:%h,%cn,%cd,%s
// 效果:
2e041278,kaiking,Tue May 31 16:49:52 2022 +0800,细节调整.
b997c993,kaiking,Tue May 31 15:33:39 2022 +0800,'1.编辑表格,点击单元格事件微调;2.普通表格+人事调配》调配字段:设置 表头弹窗选中事件调整;'3.通过提交id和文件路径,查看某个文件的修改情况:
git show 提交id 文件路径4.查看最近3次,提交的所有文件记录:
git log -3 --stat
定制格式参考:git log 的使用 - 简书
git status 查看当前代码状态
以下笔记来源:
创建版本库 - 廖雪峰的官方网站
1.下载并安装git,安装完毕后,右键菜单里找到“Git”->“Git Bash”,弹出个dos窗口说明成功。
2.配置开发者信息
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
注意git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
3.测试
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
pwd 命令用于显示当前目录
4.通过git init
命令把这个目录变成Git可以管理的仓库
5.添加并提交
$ git add readme.txt
$ git commit -m "wrote a readme file"
add可以以此添加多个,eg:
$ git add file2.txt file3.txt
这篇关于git,svn,cvs的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!