赞
踩
参考廖雪峰官方网站
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
Windows系统初始化仓库
git init
Initialized empty Git repository in /Users/michael/learngit/.git/
第一步,用命令**git add**告诉Git,把文件添加到仓库:
$ git add readme.txt
第二步,用命令**git commit**告诉Git,把文件提交到仓库:
$ git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
1 file changed, 2 insertions(+)
create mode 100644 readme.txt
从上一节可以了解到git add 就把第一次修改的内容,放到暂存区,然后 git commit,就把第一次修改的内容整到master去了,第二次修改的内容并没有传到暂存区和master。
分别将第一次修改和第二次修改内容整到暂存区,然后一起git commit ,整到master
即:每次修改,如果不用git add到暂存区,那就不会加入到commit中
1、 工作区撤销修改
git checkout -- 文件名
2、 暂存区撤销修改
git reset HEAD <file>
回到了场景1,第二步按场景1操作
3、已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库
将工作区文件删除,会出现工作区和版本库不一致,也就会出现两种情况:
git rm 文件
git commit -m “提交描述”
git checkout -- 文件
git checkout 用于版本库里的版本替换工作区的版本
,无论是工作区的修改还是删除
分支作用: 创建新分支,即使工作没完成,也可以提交,确保自己数据不丢失,且不影响其他人工作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uGIMZMlm-1681020524445)(C:\Users\26541\AppData\Roaming\Typora\typora-user-images\image-20230408212403031.png)]
每次提交master就会往后移动,此分支也就越来越长。
dev 指向master相同的提交,HEAD指向dev,表示当前分支在dev
dev 就往后移动,HEAD还是指向dev,表示还是在dev分支
master指向dev的当前提交,并将HEAD指向master分支
git branch dev
git checkout dev
其中,git checkout 后面加上 -b 参数表示创建并切换
git branch
* dev
master
其中,*表示当前的分支
git checkout master // 将HEAD 指向dev
git merge dev // 合并
合并完成后就可以删除 dev
git branch -d dev
有上图可知,两个分支分别修改同一文件中的内容,并都进行提交,这需要解决冲突 ,再合并。
如何解决冲突呢?
合并分支,删除 feature1,得到如图所示,并采用带参数的git log
来查看分支的合并情况
Fast forward
模式,合并后的历史有分支,能看出来曾经做过合并git merge --no-ff -m "merge with no-ff" dev
Fast forward
模式,看不出来曾经做过合并实际开发中,团队合作的分支如下图所示。
情景:
当你接到修复一个bug的任务时,当前正在dev上进行的工作还没有提交,需要你先修bug,怎么办?
dev 的工作进行隐藏
git stash
建新分支,修复bug
用git stash list
命令查看
git stash apply
恢复,但是恢复后,stash内容并不删除,你需要用git stash drop
来删除git stash pop
,恢复的同时把stash内容删掉git branch -D <name>
强行删除git remote -v
;git push origin branch-name
,如果推送失败,先用git pull
抓取远程的新提交;git checkout -b branch-name origin/branch-name
,本地和远程分支的名称最好一致;git branch --set-upstream branch-name origin/branch-name
;git pull
,如果有冲突,要先处理冲突git tag <tagname>
用于新建一个标签,默认为HEAD
,也可以指定一个commit id;git tag -a <tagname> -m "blablabla..."
可以指定标签信息;git tag
可以查看所有标签。git push origin <tagname>
可以推送一个本地标签;git push origin --tags
可以推送全部未推送过的本地标签;git tag -d <tagname>
可以删除一个本地标签;git push origin :refs/tags/<tagname>
可以删除一个远程标签ssh-keygen -t rsa -C “邮箱”
输入上面的命令后一直按3次回车直到出现图形界面即可
查看生成的密钥
cat ~/.ssh/id_rsa.pub
将密钥复制到Gitee的SSH公钥中。
从Gitee新建仓库,克隆到本地/或者新建文件,然后把需要上传的文件复制到克隆/新建的文件中
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。