git clone 代码仓库地址 //clone某个代码仓库到本地
git init //初始化一个git仓库
git add . //增加当前目录下的修改(之后就可以使用git commit来在本地提交代码)
git add 某个被修改的文件路径 //只增加某个被修改的文件
git commit //在本地提交代码(这个命令操作之前,一般是执行git add命令)
git commit -m “message” //快速本地提交,-m 后边的 "message"里是修改记录
git merge 分支test1 //合并分支test1的代码
git rebase //rebase代码,这个操作一般是本地commit了代码之后,准备提交到远程仓库,但远程仓库有更新的代码,那就需要git pull一下代码,然后再git rebase一下,这样代码的提交记录会很清晰;
git rebase 分支test1 //基于分支test1来rebase代码,这个操作一般是合并分支test1的代码后,再基于这个分支test1来rebase一下代码,会使自己的分支代码提交记录更清晰;
git checkout 分支test1 //切换到分支test1
git checkout 分支test1 ./ //把分支test1的代码同步到自己的分支上,但不提交
git checkout -b 分支test1 //基于当前分支,新建议一个test1分支
git branch //查看本地的分支
git branch -r //查看远程仓库上有哪些分支,这个-r的r是remote的缩写;
git pull //从远程仓库上拉取代码(一般是默认分支用这个命令,这个默认分支是可以设置的)
git pull origin 分支test1 //在分支test1上,拉取远程仓库上test1分支上的代码到本地test1分支上
git push //push代码到远程仓库上(一般是默认分支用这个命令,这个默认分支是可以设置的)
git push origin 分支test1 //在分支test1上,push代码到远程仓库上的test1分支
git push origin 分支test1 -f //在分支test1上,强制push代码到远程仓库上的test1分支
git push origin --delete 分支名test1 //强制删除远程仓库上的分支test1
git cherry-pick commit-id //将另外一个分支上的某一笔提交挪到本分支
git log //查看当前分支的log
git log 分支test1 //查看test1分支上的log(这个一般用于查看非本分支的log)
git log --author=zhangsan //查看指定作者的提交日志
git show 3a29fdada4 //查看指定提交的修改内容
git show --raw 3a29fdada4 //查看指定提交修改的文件
git branch -D 分支名test1 //删除本地仓库上的分支test1
git reset 某个冲突文件的路径 //这个是解决冲突时用的,当cherry-pick、merge、rebase时都有可能出现冲突,冲突时可以使用该命令来解决冲突,后文详述;
git reset --hard head^ //硬重置代码到本地分支的上次提交
git reset --hard head^^ //硬重置代码到本地分支的上上次提交
git reset --hard commit-id //硬重置代码到本地分支的某次提交(commit-id)
git diff >1.txt // 将自己的修改制作成patch:1.txt
git apply 1.txt // 合并patch(1.txt)
git format-patch commit-id //制作patch(相对于git diff >1.txt制作的patch,git format-patch commit-id制作的patch是有git的commit message的)
git am 0001xxx.patch //专门用于合并git format-patch制作出来的patch(当然,git format-patch制作出来的patch,也可以通过git apply 0001xxx.patch来合并,只不过,git apply 0001xxx.patch合并patch后没有git的commit message的)
git stash //将修改的代码暂时存放到暂存空间里
git stash save “message” //将修改的代码暂时存放到暂存空间里,并且增加一个描述信息
git stash apply //将放在暂存空间里的代码恢复回来
git stash apply stash@{0} //将放在暂存空间里第0个空间里的代码恢复回来,该命令效果同git stash apply
git stash apply stash@{n} //将放在暂存空间里第n个空间里的代码恢复回来
git stash list //查看暂存空间里的放的临时修改