要把Git装冰箱,总共分几步?

#####git 

#####要把大象装冰箱总共分几步?

#####

#####

1.git init

git config --global user.name ""
git config --global user.email ""

git commit --amend --reset-author # 修改本次提交的用户身份

添加新文件readme.txt 

git checkout -- <file> # 丢弃工作区的改动,不能删除新建的文件(untracked文件)

git diff # 查看工作区的修改

2.git add <file> # 添加到缓冲区

git add . # 将工作区的新增文件(即untracked file)、文件修改添加到缓冲区,不包括删除的文件
git add -u # 将工作区的文件修改提交到缓冲区,不包括新增文件(即untracked file), git add --update
git add -A # 上面两个命令的合集,git add --all

git rm --cache <file> # 从缓冲区撤出文件

git reset HEAD <file> # 从缓冲区撤出文件的修改,修改回到工作区

git diff # 查看工作区的修改

  • 尚未缓存的改动:git diff
  • 查看已缓存的改动: git diff --cached
  • 查看已缓存的与未缓存的所有改动:git diff HEAD

git diff -cached # 查看缓冲区的修改

git diff HEAD -- <file> # 查看工作区和版本库里最新版本的区别

git status # 查看工作区和缓冲区的修改

git stash # 保存工作区和缓冲区的工作内容,然后清空这两个区域,但是不能保存和清除untracked文件

git stash list # 显示先前保存的现场

git stash apply stash@{0} # 恢复指定的现场

# 还原现场:
1.先git stash apply还原,然后git stash drop删除stash列表
2.git stash pop # 相当于上面的两个命令

# 注意:工作区和缓冲区不区分分支,可以在不清理这两个区域的情况下切换分支,且这两个区域在不同分支的情况相同

3.git commit -m "" # 将文件提交到仓库中

git commit -a 

git reset --hard HEAD^ # 将版本库回退到上一个版本,这里HEAD表示当前版本库的指针,HEAD~100表示回退100个版本库
                       # 此时的工作区和缓冲区为空,回退和撤销回退都用的是HEAD指针
                       # HEAD指向分支,分支指向最新提交
                       
git reset --hard <5个字母或数字的commitid> # 这样就可以回到之前撤销的版本了

git reflog     # 显示历史命令  如果忘记了commitid,可以通过它找回


4.git log  # 查看版本库,显示提交日志
 
git log --oneline
git log --pretty=oneline # 完全显示版本号


5.rm test.txt # 在目录中删除文件
git rm test.txt # 从版本库删除文件
git commit -m "remove test.txt"

误删操作:git checkout -- test.txt

git checkout HEAD ." 或者 "git checkout HEAD <file>

用版本库中的文件替换工作区和缓冲区的内容


6.git 和 github 之间通过SSH传输
1> ssh-keygen -t rsa -C "1075307062@qq.com"
2> 在home目录下产生.ssh文件夹,其中有私钥文件id_rsa和公钥文件id_rsa.pub,这样就可以将公钥的内容添加到github上了


7.git push -u origin master # 将当前分支的仓库内容推送到远程仓库,-u是将当前仓库的master分支和远程仓库的master分支关联

git push origin master # 之后就可以直接推送最新修改了

git remote -v # 参数v是为了显示更详细的信息,这时会显示两个记录,fetch和push,没有push权限的会看不到push这条记录


8.git checkout -b dev # 创建dev分支并切换到该分支

# 注意:master分支仅用来提交最新版本的代码,保持最稳定的代码
# 注意:在哪个分支修复bug,就在哪个分支创建新的分支

git branch # 查看当前分支,本地分支

git checkout master # 切换分支到master

# 在本地创建远程分支对应的分支

git checkout -b dev origin/dev

git merge dev # 合并两个分支,合并后另一个分支的提交信息会直接添加到当前的分支
git merge --no-ff -m "" dev # 在当分支提交一个新的commit,上一个命令看不出曾经做过的合并
# git merge 之前要清理好工作区和缓冲区,untrakced文件没事
# 产生的冲突信息在工作区,所以可以用git status 查看,也可以用git diff查看

解决文件中的冲突后,执行git add <file> 和 git commit -m ""即可

查看提交图
git log --graph --pretty=oneline --abbrev-commit

git branch -d dev # 删除分支

git branch -D dev # 1.删除当前所在的分支;2.删除一个没有被合并过的分支也要用

git reflog  # 查看历史提交的中的HEAD散列值,借此可恢复被删除的分支

            # 这里,分支只是HEAD的一个个的散列值,删除分支即将指针删除,所以恢复也容易恢复

git branch dev HEAD@{4} # 可以恢复第四个commit命令结束HEAD所在的分支


9.本地分支的作用

master 分支应该时刻与远程同步

dev 分支是开发分支,团队人员均在上面开发,所以要时刻与远程同步

bug 分支用于修复bug,没必要推送到远程

feature 分支是否要推送取决于这个功能是否要和其他小伙伴一起完成


10. 多人协作的工作模式

# 注意:首先将远程仓库fork到自己的远程仓库,然后
git clone 到自己的本地   直接clone作者的远程仓库将不能push,因为没有push权限

1>尝试 
git push origin <br_name>
推送自己的修改

2>推送失败,原因是远程分支比你的本地的更新,首先
确认你有push的权限,git remote -v 看一下origin 的记录里有没有push,然后
git pull 试图合并

3>合并失败,首先解决冲突,在本地提交

4>没有冲突 或者 解决了冲突,再
git push origin <br_name> 
这样就可以了

# 注意,如果git pull 提示 no tracking information,则说明本地分支和远程分支的链接关系没有建立,用命令
git branch --set-upstream-to <br_name> origin/<br_name>


11.将本地未push的分叉commit历史整理成直线


12.标签是版本库的一个快照,发布版本的时候要打上标签

# 标签其实类似分支,指针类型,不过不能移动,与commit绑定

git tag <name> # 在当前的分支打上标签

git tag # 查看标签

# 给历史commit打上标签,先找到commitid,再
git tag <name> <commitid>

git show <tagname> # 查看标签详细信息

git tag -a <name> -m "description" <commitid>

git tag -d v0.1 # 删除本地标签

git push origin <tagname> # 标签不会自动推送到远端

git push origin --tags # 推送所有标签到远程

# 删除远程标签
1.先将本地标签删除
2.git push origin :refs/tags/v0.9


13.git版本控制忽略文件和目录,哇哇哇,强迫症的福音来了

# 在git 工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去

# 忽略文件的原则:(忽略文件就是不需要将这些没有意义的文件保存到版本库)
1> 忽略操作系统自动生成的文件,比如缩略图等
2> 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没有必要放进版本库
3> 忽略你自己的带有敏感信息的配置文件,比如存放口令得配置文件。
4> 将.gitignore文件提交到git上即可

# 注意:
添加到忽略文件的文件不能add了,也已使用-f强制add,也可以使用
git check-ignore -v App.class 查看忽略规则中涉及这个文件的配置项


14.配置快捷键

现在菜的一笔,还是多多练手好吧
以后可以参考廖神的

15.搭建自己的git服务器

。。。

搭建比较简单。搭建了自己的服务器就会想到电脑之间是如何通信呢

公司里也经常用到网络通信这方面的内容,下面学习一下~~

git完结~~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值