14|怎么删除不需要的分支

git branch -d

git branch -d [branch-name]:使用-d 在删除前Git会判断在该分支上开发的功能是否被merge的其它分支。如果没有,不能删除<br />git branch -D [branch-name]:强制删除

15|怎么修改最新commit的message

git commit —amend

git commit --amend -m [message]

16|怎么修改老旧commit的message

git rebase

git rebase -i prenthash #衍合指定分支到当前分支
变基策略选择 r,reword,将需要修改的commit message之前的pick替换为r或reword

注意: git rebase -i 开始commit [结束commit], 在执行这个命令时,如果没有指定 结束commit,那么结束commit 默认为当前分支最新的 commit,那么rebase 结束后会自动更新当前分支指向的 commit;

如果指定了结束 commit,而且结束 commit不是当前分支最新的 commit,那么rebase 后会有生成一个 游离的 head,而且当前分支指向的commit 不会更新

image.png

17|怎样把连续的多个commit整理成1个

变基策略选择 s,squash,将需要合并的commit message之前的pick替换为s或squash

18|怎样把间隔的几个commit整理成1个

19|怎么比较暂存区和HEAD所含文件的差异

git diff

git diff --cached 暂存区和HEAD的差异

20|怎么比较工作区和暂存区所含文件的差异

git diff 暂存区和工作区的差异

21|如何让暂存区恢复成和HEAD的一样

git reset HEAD 暂存区恢复成HEAD

22|如何让工作区的文件恢复成和暂存区一样

git checkout 暂存区覆盖工作区修改

23|怎样取消暂存区部分文件的更改

git reset HEAD -- filename1 [``filename2``]...

24|消除最近的几次提交

25|看看不同提交的指定文件的差异

git diff commit-id1 commit-id2 path-to-filename

26|正确删除文件的方法

git rm <filenname>

27|开发中临时加塞了紧急任务怎么处理

暂时将未提交的变化移除,稍后再移入
git stash
git stash pop

28|如何指定不需要Git管理的文件

.gitignore文件中添加不需要Git管理的文件

29|如何将Git仓库备份到本地

image.png
image.png

git clone

git clone [url]``下载一个项目和它的整个代码历史
git clone --bare [url] 只拷贝.git目录裸仓

git remote add [shortname] [url] (仓库与仓库之间建立连接)增加一个新的远程仓库,并命名
git push [remote] [branch] 上传本地指定分支到远程仓库