赞
踩
下载地址: https://download.csdn.net/download/qq_44629109/85330211
下载完成后可以得到如下安装文件:
双击下载的安装文件来安装Git。
一直下一步直到安装完成即可
安装完成后在电脑桌面(也可以是其他目录)点击右键,如果能够看到如下两个菜单则说明Git安装成功。
Git GUI:Git提供的图形界面工具
Git Bash:Git提供的命令行工具
点击Git GUI进入Git控制界面
设置用户信息
git config --global user.name “输入名称”
git config --global user.email “输入email”
查看配置信息
git config --list
git config user.name
通过上面的命令设置的信息会保存在~/.gitconfig文件中
版本库就是我们所说的“仓库”(repository),你可以理解为一个目录,这个目录里面的所有文件都可以被Git管理,文件的修改,删除Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。
下面是在我的电脑→D盘→work文件下,创建一个名为lianxi的版本库:
在进入work目录中,点击右键打开Git GUI:窗口.
cd:进入某个目录
mkdir:创建一个文件
pwd:显示当前的目录路径
执行命令git init,将这个目录变为git可以管理的仓库
在本地目录下创建使用到的文件,如1.txt。
然后将创建的文件添加到暂存区,然后提交到仓库。
git add:将文件提交到暂存区
git commit -m:将暂存区文件提交到仓库(单引号内为注释)
git status:传看状态
问题分析:
直接拷贝过去的文件夹里面有个 .git 的文件,所以在执行 git status 的时候出现 modified: test (modified content, untracked content) 提示,这个提示存在的原因是 xxx目录是一个空目录,且里面有一个.git文件夹。就是因为这个.git文件夹导致这个提示。
问题解决:
把该文件夹里面的 .git 文件删除,然后执行下面命令
# 1. 移除错误文件名 test 在git中的进程树
git rm -rf --cached test
# 2. 确认移除
git commit -m '111'
# 3. 提交
git add .
git commit -m '111'
git push -u origin master
-
-
修改1.txt的文件,然后重新git status:
git status:检查当前文件状态
git diff:查看文件修改的内容
查看历史记录 git log
git log:获得历史修改记录
git log --pretty=oneline:使记录只显示主要的内容,一行显示
cat:查看文件内容
git reset --hard HEAD^:回退到上个版本
git reset --hard HEAD^^:回退到上上个版本
git reset --hard HEAD~100:回退到回退到100个版本之前
git reflog:获取历史版本号
git reset --hard 版本号:回退到该版本号对应的版本
确保服务器和码云上面的内容一致 如果不一致 那么先使用git pull origin master
git rm -r --cached filename(要删除的文件/文件夹)
git commit -m “delete filename”
git push origin master //推送到码云上面
检查文件是否还有未提交或者修改的,然后将文件提交到github仓库
git remote add origin https://github.com/xxxxxxx/xxxxxx.git是将你本地的仓库和github仓库进行关联,在操作时候,需要将github地址替换为自己的。
github地址在你仓库的Code下的HTTPS
git pull 是从远程仓库获取最新版本并merge到本地仓库。
git pull origin feature
下拉远程仓库feature的工程到本地
git log --pretty=oneline
,每个提交放在一行显示,在浏览大量的提交时非常有用 。 git log
解决方法
git add .
git commit -m "commit message"
git clean -n //这个是清除文件预览
git clean -f //强制清除文件
假如要删除备注为“日常维护”,哈希索引为 61a8c46ca83379621986e
的这次提交。
首先找到此次提交之前的一次提交的commit: c4712a0c7ba6cb9d714b3
2. 执行如下命令:
git rebase -i c4712a0c7ba6cb9d714b3
3. 会进入vim页面
将61a8c46 f这一行前面的pick改为drop
4. 先按Esc,再按下“:” ,之后输入"wq",回车保存。
5. 我们可以看到,已经完成了删除
第一次推送master分支时,加上了 –u参数,Git会将本地的master分支内容推送的远程新的master分支,还会把2个master分支关联起来,在以后的推送或者拉取时就可以简化操作。
如果推送到其他分支,但本地分支是master,则是如下语句(本地分支是master,远程是feature)
git push origin master:feature
推送成功后,可以立刻在github页面中看到远程库的内容已经和本地一模一样了,登录你的github,从仓库中查看,发现已经和本地的保持一致。之后,只要本地做了修改提交,就可以使用git push origin master命令进行文件推送。
报错的原因是因为,每个仓库都有一个分支,也可以理解为大仓库里的小仓库,我们只是跟线上远程仓库有了关联,但没有跟线上远程仓库的某个分支关联,所以我们没法提交
像其他版本控制系统(VCS)一样,Git 可以给仓库历史中的某一个提交打上标签,以示重要。 比较有代表性的是人们会使用这个功能来标记发布结点( v1.0 、 v2.0 等等)。 在本节中,你将会学习如何列出已有的标签、如何创建和删除新的标签、以及不同类型的标签分别是什么。
补充:就是说你在某一个分支上打了一个标签,再切到另外的分支上去,这个标签还是存在的,只是对应的是这个标签之前的commit,相当于是一个时间快照,他可以横跨标签,所以这就是它的灵活性。
git tag
git tag -l -n
3. 查看线上代码库的标签
git ls-remote --tags
git tag -l "v4.0.0*"
git tag -a v4.0.0 -m "备注信息"
git show v4.0.0
git push origin v4.0.0
2. 如果想要一次性推送很多标签,也可以使用带有 --tags 选项的 git push 命令。 这将会把所有不在远程仓库服务器上的标签全部传送到那里。
git push origin --tags
现在,当其他人从仓库中克隆或拉取,他们也能得到你的那些标签。
一般情况下,修改标签对应的项目版本,都是选择直接删除这个标签,然后创建一个标签,将对应的项目号和他对应起来,实现修改。
$ git tag -d v4.0.3
Deleted tag 'v4.0.3' (was 7caefe0)
注意上述命令并不会从任何远程仓库中移除这个标签,你必须用 git push :refs/tags/ 来更新你的远程仓库:
第一种变体是 git push :refs/tags/ :
$ git push origin :refs/tags/v4.0.3
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/xxxxxxxxx
- [deleted] v4.0.3
上面这种操作的含义是,将冒号前面的空值推送到远程标签名,从而高效地删除它。
第二种更直观的删除远程标签的方式是:
git push origin --delete <tagname>
创建my1分支: git branch my1
切换my1分支: git checkout my1
创建并切换my1分支: git checkout -b my1
更新master主线上的东西到该分支上:git rebase master
推送本地的my1分支到远程的feature分支:git push origin my1:feature
删除本地分支 git branch -d my1
我们在转换分支的时候,偶尔会出现这个问题:error: Your local changes to the following files would be overwritten by checkout
这个问题就是由于我们目前的分支有为提交的修改,所以不能转换到另一个分支。
解决方法:
git branch -m text1
将目前的分支名更改为 text1
git stash
之后切换到分支B,当我切回到分支A继续此项目的编写时,只需要使用
git stash pop
进行出栈即可恢复到切换到B分支之前的A分支的状态。
完整流程
git add
命令将所有文件内容添加到索引(将修改添加到暂存区)。也就是将要提交的文件的信息添加到索引库中。git commit -m '备注内容'
,提交暂存区文件到仓库区。(1)git stash save “save message” : 执行存储时,添加备注,方便查找,只有git stash 也时可以的,但查找时不方便识别。
(2)git stash list :查看stash了哪些存储。
(3)git stash show :显示做了哪些改动,默认show第一个存储,如果要显示其他存贮,后面加stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲,比如第二个 git stas…num} -p ,比如第二个:git stash show stash@{1} -p。
(5)git stash apply :应用某个存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0},如果要使用其他个,git stash apply stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲ , 比如第二个:git st…num} ,比如应用并删除第二个:git stash pop stash@{1} 。注:该命令在恢复内容的同时将堆栈中对应的的内容删除(栈是先进后出)。
(7)git stash drop stash@{KaTeX parse error: Expected 'EOF', got '}' at position 4: num}̲ :丢弃stash@{num}存储,从列表中删除这个存储。
(8)git stash clear: 删除所有缓存的stash。
(9)git stash branch :从最新的stash创建分支。 应用场景:当储藏了部分工作,暂时不去理会,继续在当前分支进行开发,后续想将stash中的内容恢复到当前工作目录时,如果是针对同一个文件的修改(即便不是同行数据),那么可能会发生冲突,恢复失败,这里通过创建新的分支来解决。可以用于解决stash中的内容和当前目录的内容发生冲突的情景。
发生冲突时,需手动解决冲突。
如果想了解更多物联网、智能家居项目知识,可以关注公众号观看更多
编写不易,感谢支持。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。