天天看点

一文学懂git创建版本库分支回退上个版本多人协作查看各种情况忽略文件常见错误和处理方案

文章目录

  • 创建版本库
  • 分支
  • 回退上个版本
    • 标签
  • 多人协作
  • 查看各种情况
  • 忽略文件
  • 常见错误和处理方案
    • deleted: file
    • error: failed to push some

参考链接

最棒的github练习链接,走过路过别错过

下载链接https://pc.qq.com/detail/13/detail_22693.html

创建版本库

ssh-keygen #输入后要一系列回车,将公钥复制在 https://github.com/settings/profile 具体配置看https://blog.csdn.net/tuesdayma/article/details/72615868?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.control
git remote add origin [email protected].com:XXX/learngit.git #远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库、也可以使用https:协议关联
git push -u origin master #加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。  用过一次之后,后面只要本地作了提交,就可以通过命令git push origin master

git init
git add file1.txt 
git add file2.txt file3.txt
git commit -m "first commit"
           

分支

git branch 分支名 #创建分支
git branch -d 分支名 #如果合并了可以用该方法删除分支,没有合并就需要强制删除即用-D
git branch #查看有哪些分支

git switch 分支名 #切换到对应的分支,旧版本也可以用git checkout 分支名来切换
git merge 分支名

           

与分支类似的操作

该方法不需要合并,但内容已经合并过去了;这就像男人精神出轨一样

一文学懂git创建版本库分支回退上个版本多人协作查看各种情况忽略文件常见错误和处理方案

回退上个版本

git reflog #查看版本id
git reset -hard id号 #id号只写前几位即可
           

标签

一般为了方便,也常常使用tag来替代ID号, 注意:标签总是和某个commit挂钩。如果这个commit既出现在master分支,又出现在dev分支,那么在这两个分支上都可以看到这个标签。 ;

“请把上周一的那个版本打包发布,commit号是6a5819e…”

“一串乱七八糟的数字不好找!”

如果换一个办法:

“请把上周一的那个版本打包发布,版本号是v1.2”

git tag v1.0 f52c633 #创建标签,git tag v1.0命令是在最新的版本打上标签,如果要指定版本要加上ID号
git tag -d v0.1 #删除标签
git tag #查看标签;注意,标签不是按时间顺序列出,而是按字母排序的

#同样标签也需要推送
git push origin <tagname>
git push origin --tags #一次性推送所有标签
           
一文学懂git创建版本库分支回退上个版本多人协作查看各种情况忽略文件常见错误和处理方案

多人协作

一开始只有master分支,另一个伙伴已经创建一个dev分支,并且在里面推送了内容;自己如果需要同步他的dev就要

git branch --set-upstream-to=origin/dev dev

git pull #拉下最新分支

rebase操作可以把本地未push的分叉提交历史整理成直线;

rebase的目的是使得我们在查看历史提交的变化时更容易,因为分叉的提交需要三方对比。
           

查看各种情况

git status

查看仓库提交还是没有提交;

一文学懂git创建版本库分支回退上个版本多人协作查看各种情况忽略文件常见错误和处理方案

git diff file1.txt

查看未提交的但放在仓库中的版本和提交的版本修改了哪些内容

一文学懂git创建版本库分支回退上个版本多人协作查看各种情况忽略文件常见错误和处理方案

git log

查看历史提交日志、分支情况;

一文学懂git创建版本库分支回退上个版本多人协作查看各种情况忽略文件常见错误和处理方案

git remote -v

git remote -v查看远程库信息:

一文学懂git创建版本库分支回退上个版本多人协作查看各种情况忽略文件常见错误和处理方案

忽略文件

一文学懂git创建版本库分支回退上个版本多人协作查看各种情况忽略文件常见错误和处理方案

有些时候,你想添加一个文件到Git,但发现添加不了,原因是这个文件被.gitignore忽略了:

$ git add App.class

The following paths are ignored by one of your .gitignore files:

App.class

Use -f if you really want to add them.

如果你确实想添加该文件,可以用-f强制添加到Git:

$ git add -f App.class

或者你发现,可能是.gitignore写得有问题,需要找出来到底哪个规则写错了,可以用git check-ignore命令检查:

$ git check-ignore -v App.class

.gitignore:3:*.class App.class

Git会告诉我们,.gitignore的第3行规则忽略了该文件,于是我们就可以知道应该修订哪个规则。

常见错误和处理方案

deleted: file

分析:add了但在工作区又删除了该文件

这时候应该与工作区保持一致,那就使用

git rm file.txt

命令,将暂存区的内容也删掉

一文学懂git创建版本库分支回退上个版本多人协作查看各种情况忽略文件常见错误和处理方案

error: failed to push some

如果在第一步中创建时已经初始化过项目,则这时会提醒 error: failed to push some refs to ‘https://github.com/daoke0818/testGit2.git’ hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., ‘git pull …’) before pushing again. hint: See the ‘Note about fast-forwards’ in ‘git push --help’ for details.

因为远程库中已经存在readme文件了,所以需要先pull下来。命令如下: $ git pull origin master