参考链接
问题处理
多版本控制注意事项
- 在写config文件的时候,可以不使用缩进,且文件中不能有中文
-
出现以下情况选择yes即可
-
成功提示
成功授权SSH
Git使用
- 创建版本库
- 在需要的目录下新建test文件夹
- 在text文件夹下,使用
git init
使得test文件夹被git管理 - 新建readme.txt并写入内容
-
cat readme.txt
可以查看文件内容 -
git add readme.txt
将文件添加到暂存区 -
git commit -m "一些注释"
来添加注释,并将文件从缓存区添加至仓库 -
git status
查看是否还有文件未提交或者被修改 -
git diff readme.txt
查看文件的修改内容
- 版本回退
-
git log
查看历史记录,记录由近及远排列,git log --pretty=oneline
将log记录按行显示,比较简洁 -
git reset --hard HEAD^
将版本回退至上一次,git reset --hard HEAD^^
将版本回退至上上次,git reset --hard HEAD~100
将版本回退至前100次 -
git reflog
可以得到每一次提交后的版本号,如6fcfc89
-
git reset --hard 6fcfc89
可以恢复误删的版本
- 工作区与暂存区的区别
工作区:就是你在电脑上看到的目录,比如目录下testgit里的文件(.git隐藏目录版本库除外)。或者以后需要再新建的目录文件等等都属于工作区范畴。
版本库(Repository):工作区有一个隐藏目录.git,这个不属于工作区,这是版本库。其中版本库里面存了很多东西,其中最重要的就是stage(暂存区),还有Git为我们自动创建了第一个分支master,以及指向master的一个指针HEAD。
可以先将工作区的内容分别用git add file
添加到暂存区,再通过git commit -m "一些注释"
一次性提交到仓库
- 撤销修改和删除文件
4.1 撤销修改
1)知道哪里要改,直接手动修改
2)恢复到上个版本git reset --hard HEAD^
3)git checkout -- b.txt
可以丢弃工作区的修改,退回到文件在缓存区的状态
4.2 删除文件
1)直接在文件目录中删除
2)rm readme.txt
后进行git commit -m "一些注释"
进行彻底删除
3)rm readme.txt
后进行git checkout -- readme.txt
恢复误删文件 - 从本地到远程
git remote add origin https://github.com/tugenhua0707/testgit.git
git push -u origin master
我们第一次推送master分支时,加上了 –u参数(融合的意思),Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令git push origin master
,或者说是git push https://github.com/tugenhua0707/testgit.git master
。
- 从远程到本地(clone)
git clone https://github.com/tugenhua0707/testgit
- 创建与合并分支
-
git checkout -b dev
创建并切换到dev分支 -
git branch
列出所有分支,当前分支前有*
在dev分支修改的文件内容,在master主分支上不会出现 -
git checkout master
切换到主分支,在master下,git merge dev
将dev分支合并到master中 -
git branch -d dev
删除dev分支
- 当文件同时在master与dev下作了修改,如何解决冲突?
-
git merge dev
会报错:merge conflict in... -
git status
查看状态显示both modified -
cat b.txt
可以看到文件内容中有冲突代码
Git用<<<<<<<,=======,>>>>>>>标记出不同分支的内容,其中<<<HEAD是指主分支修改的内容,>>>>>dev 是指fdev上修改的内容
根据需求修改文件后再提交即可
- 分支管理策略
- Bug分支
- 多人协作
- 只clone子文件夹
工具:tortoisesvn,选择好版本后,下面有语言包也可以下载,先安装上面的工具包,再安装语言包。鼠标右击,在“设置”中将语言设置为“简体中文”即可。
使用方法:如何从GitHub上下载一个项目中的单个文件或者子文件夹
问题注意
- 通过撤销命令让其回到暂存区后的状态命令:
git checkout -- readme.txt
中的--
很重要,如果没有--
的话,那么命令变成创建分支了 - Git Bash不可以用
ctrl+v
进行快速粘贴,即使没有任何字符也会报错,直接右键paste就可以了 - 复制的快捷键是
ctrl+shift+c
- 提示“Please tell me who you are”的时候,通过
git config --local user.name "zwj"
和git config --local user.email "zwj@163.com"
来创建本地仓库的用户名及邮箱,我未选择--global
参数,怕污染。 - 在Gitee中创建一个仓库会默认附加readme文件,这样将本地仓库上传的时候会出错,具体参考如何去解决fatal: refusing to merge unrelated
如果一开始不勾选readme文件,则会有简易教程(同Github)
Gitee本地仓库上传步骤
网友评论