Git命令
[git 回车换行设置]---避免windows自动将linux的换行符转为windows风格,造成文件二进制不一致
执行git config --list,查看所有设置
确保 core.autocrlf=false
如果不是则用如下命令修改:
git config --global core.autocrlf false
【配置命令别名】
git config --global alias.st status
【修改文件名】
git mv originfilename changed_filename
git commit -m ""
【删除文件或文件夹】
删除文件
git rm filename
删除foldername文件夹及其下所有的文件
git rm foldername -r -f
执行完git rm后,最后再git commit -m "",然后push即可
【stash的使用】
有时候我们在工作区进行开发并且不想提交的时候,这时我们又想pull最新代码;或者又想切到另外一个分支上修改紧急bug的时候
git stash可以暂存当前的工作区内容
git stash save "stash information."
等我们切到另外分支修改完了bug之后,可以切回之前分支【一定要先切回原分支再执行下面的pop或apply命令】
然后恢复之前工作区的内容继续开发
git stash pop
也可以查看stash的Git栈信息
git stash list
当我们的stash栈列表里面有很多,并且我们想要找到对应的版本号并且将我们想要的版本号为stash@{2}的工作内容取出来
git stash apply stash@{2}
也可以查看版本号为stash@{2}的工作内容
git stash show stash@{2}
可以将栈清空
git stash clear
【查看某次提交中某个文件的改动情况】
git show commit-id filename
【查看分支历史】
git reflog show --date=iso branchname
【git-rebase】
当从master拉完分支,修改后,发现需要合入master分支上最新的commit时,可以先提交该分支上的修改,然后checkout到master上,git pull到最新,然后切回分支,执行 git rebase master 即可。
冲突处理:在进行rebase操作时,可能会遇到文件存在冲突的情况,这时git会显示出存在冲突的(CONFLICT)文件名,可以用beyondcompare进行比较,手动解决冲突后,再用git add来标识该文件冲突已解决,当冲突解决后再执行git rebase –continue即可。
【git-rebase合并最近2次commit】
(1)、git rebase -i HEAD~2(合并最近2次commit)
(2)、执行完1后,即进入commit信息编辑界面,在这里将第一次提交改为pick,第2次提交改为squash,意思就是将第二次提交合并到第一次提交上。编辑完后输入:wq保存退出,即进入步骤3。
(3)、在第2步执行完后即进入注释修改界面,可以将第2次commit信息删除,将第1次comit信息修改为想要的内容,之后输入:wq保存并退出。
(4)、使用git log查看最近commit记录,发现最近2次提交已被合并为一个。
【回退节点】
git reset --hard commitid
【git clean】
删除untracked files
git clean -f
【根据commit信息在所有分支中查找对应的commit】
git log --all --grep="symbol"
【查看本地和远端都有哪些分支包含给定的CommitID】
git branch -a --contains CommitID
【git pull和本地文件冲突,强制拉取更新】
git fetch --all
git reset --hard origin/master
【查看当前修改了哪些文件及增删行数信息】
git diff --stat
【拉取远端某个特定的分值】
git fetch <远程主机名> <分支名>
如:git fetch origin master
【拉取某个节点的代码】
git cherry-pick <commit-id>