git笔记
1. detached HEAD
http://blog.csdn.net/csfreebird/article/details/7583363
使用 git checkout master
2. rebase 和 mearge
http://blog.csdn.net/wh_19910525/article/details/7554489
3. 撤消本地所有修改(未commit)
git clean -df
git checkout --force dev
git reset --hard origin/dev
4. 撤消 commit
a)git log
b)git reset --hard commit_id
http://blog.csdn.net/felix_f/article/details/8777463
- 图中左侧为工作区,右侧为版本库。在版本库中标记为 "index" 的区域是暂存区(stage, index),标记为 "master" 的是 master 分支所代表的目录树。
- 图中我们可以看出此时 "HEAD" 实际是指向 master 分支的一个“游标”。所以图示的命令中出现 HEAD 的地方可以用 master 来替换。
- 图中的 objects 标识的区域为 Git 的对象库,实际位于 ".git/objects" 目录下,我们会在后面的章节重点介绍。
- 当对工作区修改(或新增)的文件执行 "git add" 命令时,暂存区的目录树被更新,同时工作区修改(或新增)的文件内容被写入到对象库中的一个新的对象中,而该对象的ID 被记录在暂存区的文件索引中。
- 当执行提交操作(git commit)时,暂存区的目录树写到版本库(对象库)中,master 分支会做相应的更新。即 master 指向的目录树就是提交时暂存区的目录树。
- 当执行 "git reset HEAD" 命令时,暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响。
- 当执行 "git rm --cached <file>" 命令时,会直接从暂存区删除文件,工作区则不做出改变。
- 当执行 "git checkout ." 或者 "git checkout -- <file>" 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。
- 当执行 "git checkout HEAD ." 或者 "git checkout HEAD <file>" 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改 动。
撤消本地修改--强制切换到当前分支:
git checkout HEAD .
撤消本次修改--对于未提交的,撤消。
git reset --hard
撤消已Push 的某次Push。
统计
http://blog.csdn.net/qq_37023538/article/details/53930200
Git 子模块的权限控制
https://git-scm.com/book/zh/v2/Git-工具-子模块
https://juejin.im/post/5aa11f486fb9a028e0140e34
Git 忽略文件权限的配置
配置: core.filemode = false
https://my.oschina.net/surjur/blog/401757
回车格式设置
git config --global core.autocrlf true
把 --global 去掉, 即设置到当前项目.
删除远程文件:
http://blog.csdn.net/xing_sky/article/details/50069617
使用 git rm 命令即可,有两种选择.
一种是 git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除;
一种是 git rm --f "文件路径",不仅将该文件从缓存中删除,还会将物理文件删除(不会回收到垃圾桶)
配置SSH Key
https://www.cnblogs.com/horanly/p/6604104.html
https://www.putty.org/
ssh-keygen -t rsa -C
"youremail@example.com" -f ~/.ssh/id_rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@server_ip
ssh-copy-id 的作用是: 把id_rsa.pub的文件内容copy到服务器 ~/.ssh/authorized_keys
其它生成工具: http://www.cnblogs.com/pixy/p/4722381.html
配置多个 密钥:https://blog.csdn.net/dbb_zifeng/article/details/71698865
添加到 agent:
ssh-agent bash
ssh-add 13466496863
ssh-add iamudi
vi ~/.ssh/config
Host gitee2.com HostName gitee.com IdentityFile ~/.ssh/iamudi User iamudi@163.com Host gitee.com HostName gitee.com
Port 22 IdentityFile ~/.ssh/13466396863 User 13466396863@163.com
git clone git@gitee2.com:iamudi/inv.git
重置远程,删除远程历史
https://blog.csdn.net/ffggnfgf/article/details/80044943
git checkout --orphan latest_branch
git add -A
git commit -am "init"
git branch -D master
git branch -m master
git push -f origin master
作者:NewSea 出处:http://newsea.cnblogs.com/
QQ,MSN:iamnewsea@hotmail.com 如无特别标记说明,均为NewSea原创,版权私有,翻载必纠。欢迎交流,转载,但要在页面明显位置给出原文连接。谢谢。 |