1.gitignore 全局配置忽略文件git config --global core.excludesfile ~/.gitignore
如果只针对某个项目起作用,也可以把.gitignore放在跟.project同一目录下。 2.git log 格式化显示
git log --pretty=oneline
git log --pretty="%h - %H - %an, %ar : %s"
git log --pretty="%h - %s"
git log -p 显示每次提交的内容差异
git -log --stat 显示简要的增改行数统计
3.git stash暂存
git stash
git stash save -a ‘msg’
git stash pop
git stash list
git stash apply stash@{id}
git stash drop stash@{id}4.git reset回滚
–git reset --soft head^ 回退最近一次commit的文件
–git add 提交到暂存区
–git reset HEAD 把暂存区里的文件撤销
–git reset --hard HEAD^ 把最近一次提交的文件回滚并覆盖
–git reset --hard <commit_id>
–git push -f 5.git 只合并分支上某个commit(即sourceTree的遴选)
1.git checkout -b’feature’ 切换到新分支
2.git reflog 找到需要遴选的<commit_id1> <commit_id2>
3.git cherry-pick <commit_id1><commit_id2> 把1、2的提交合并到新分支
4.提交并推送
同样可以用sourceTree的遴选功能实现
1.切换到需要遴选提交代码的分支
2.选中某些提交,右键选择遴选
3.推送分支6.git patch补丁 可以删除某一个commit
1.git log –oneline 找到需要删除的<commit_id>,假如倒序是第7次提交
2.git format-patch -7 生成7个patch,这些patch是按提交时间生成的
3.git reset --hard <commit_id> 回退到第8次提交的<commit_id>
4.–git push -f 强制推送到远程
5.git am *.patch 移除0007-.patch,把其他应用提交
6.推送分支7.git revert 回退某个commit提交
git revert <commit_id>
区别于git reset,git revert是作为一个单独的commit提交
直接从远程close 项目
git config --global user.name “***”
git config --global user.email “***”
git init
git commit -m"**"
git push --set-upstream ***(地址)