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

原文地址:https://www.cnblogs.com/cgc0415/p/6901339.html