git命令备忘录

全局配置 --global

配置用户名和邮件

git config --global user.name "yourname"

git config --global user.email "[email protected]"

配置diff工具

git config --global diff.tool meld

git config --global difftool.prompt false

用diff工具查看时用difftool命令,git difftool  file.txt


.git目录下的内容

查看HEAD文件内容(指向当前所在的分支)

git symbolic-ref HEAD,这个HEAD就是.git/根目录下的HEAD

设置HEAD文件内容

git symbolic-ref HEAD refs/heads/mybranch 相当于git checkout mybranch

本地分支保存在目录refs/heads/

远程引用目录:refs/remotes/origin/

refs/remotes/origin/HEAD指向最后一次远程提交的sha-1值的引用,远程引用和本地分支的区别是它们不能被checkout


git diff的用法

git diff是查看working tree与index file的差别的。

git diff –cached是查看index file与commit的差别的。

git diff HEAD是查看working tree和commit的差别


git reset 中--hard, --soft, --mixed的区别

git reset --hard HEAD //--hard表示将working tree和index file都撤销到以前状态 ,--soft表示只撤销commit,而保留working tree和index file的信息,--mixed会撤销commit和index file,只保留working tree的信息


fetch的用法

git-fetch用于从另一个reposoitory下载objects和refs。

命令格式为:git fetch <options> <repository> <refspec>…

其中<repository>表示远端的仓库路径。

其中<refspec>的标准格式应该为<src>:<dst>,<src>表示源的分支,如果<dst>不为空,则表示本地的分支;如果为空,则使用当前分支。

git fetch /home/bob/myrepo master:bobworks :用于从bob的工作目录的master分支下载objects和refs到本地的bobworks分支中


常量的使用方法

HEAD:表示最近一次的commit。

MERGE_HEAD:如果是merge产生的commit,那么它表示除HEAD之外的另一个父母分支。

FETCH_HEAD:使用git-fetch获得的object和ref的信息都存储在这里,这些信息是为日后git-merge准备的。

ORIG_HEAD:保存父节点的SHA-1值

HEAD^:表示HEAD父母的信息

HEAD^^:表示HEAD父母的父母的信息

HEAD~4:表示HEAD上溯四代的信息

HEAD^1:表示HEAD的第一个父母的信息

HEAD^2:表示HEAD的第二个父母的信息

COMMIT_EDITMSG:最后一次commit时的提交信息。

你可能感兴趣的:(git,tree,File,工具,merge,DST)