1.git 常用命令

2.git 所有撤销和回退命令
git add 后撤销:
撤销所有add文件 git reset HEAD .
撤销单个add文件 git reset HEAD -filename
git commit 后撤销:
只回退commit的信息,保留修改代码:git reset --soft head
彻底回退到上次commit版本,不保留修改代码:git reset --hard head^
说明:
HEAD :当前版本
HEAD^ :上一个版本
--hard 参数会抛弃当前工作区的修改
--soft 参数的话会回退到之前的版本,但是保留当前工作区的修改,可以重新提交
撤销所有本地改动代码:
git checkout .
本地代码回退到与git远程仓库保持一致
git reset --hard 远程分支名
git push撤销:
回滚此次push到服务器的代码:
git log查看commit的信息
git revert 以前commit的id
git push 此时本地回滚的代码到服务器就可以了
git merge 撤销:
$ git checkout 【行merge操作时所在的分支】
$ git reset --hard 【merge前的版本号】>
3.git 同步另一个分支的单个文件
比如现在有两个分支:branch1 branch2
这两个分支是一个项目的不同版本分支。这两个分支中维护着一个相同的代码文件test.c。
branch1上做了修改,branch2想同步此修改。
首先切换到分支:branch2上:
git checkout branch2
然后在分支2下使用git的patch命令:
git checkout --patch branch1 ./test.c
弹出修改确认提示:
Apply this hunk to index and worktree [y,n,q,a,d,/,K,g,e,?]?
选y。
4.Git查看某次提交某个文件的修改
(1) 查看某次提交的修改文件的文件列表
git show commit-hash-value --stat
(2) 查看某次提交的某个文件的修改内容
git show commit-hash-value file-name
5.git pull ok,git push 提示权限不对无法提交的问题
(1) 切换到git用户,进入远程git仓库目录中:
su git
cd ~/project.git/
(2)修改目录权限和代码属主:
sudo chmod -R 777 ./
sudo chown -vR git *
此时,试一下应该可以push 了。
6.