git常用命令
#配置使用git仓库的人员姓名
$ git config --global user.name "Your Name Comes Here"
#配置使用git仓库的人员email
$ git config --global user.email [email protected]
$ git show # 显示某次提交的内容
$ git show $id
$ git add <file> # 将工作文件修改提交到本地暂存区
$ git log
$ git log <file> # 查看该文件每次提交记录
#初始化一个版本仓库
$ git init
#clone远程版本库
$ git clone [email protected]:wordpress.git
#查看远程仓库
$ git remote -v
#提交修改
$ git commit –m "你的注释"
#推送更新到远程服务器,语法为 git push [远程名] [本地分支]:[远程分支]
$ git push origin master
#查看文件状态
$ git status
#重命名文件
$ git mv reademe.txt readme
#修改最后一次提交注释的,利用–amend参数
$ git commit --amend
$ git log > log.txt # 导出git log日志
$ git log --pretty=oneline >log.txt # git log日志在同一行显示
$ git stash //可用来暂存当前正在进行的工作
$ git stash list //命令可以将当前的Git栈信息打印出来
$ git stash pop //恢复的是最近的一次改动
$ git stash clear //来将栈清空
//本地误删除的文件夹从服务器重新拉取
$ git checkout -- 文件名
git删除远程文件夹或文件
如下,把src里的全部移除
$ git rm -r -n --cached */src/\* //-n:加上这个参数,执行命令时,是不会删除任何文件,而是展示此命令要删除的文件列表预览。
$ git rm -r --cached */src/\* //最终执行命令.
$ git commit -m"移除src目录下所有文件的版本控制" //提交
$ git push origin master //提交到远程服务器master
1、git撤销本地修改
$ git reset --hard origin/master
2、git回退到前n个版本
如下为向前回退3个版本,git reset –hard HEAD~3
3、git多用户提交冲突一
场景:用户UserA修改了文件File1,用户UserB也修改了文件File1并成功merge到了服务器上,而UserA和UserB改动了同一个代码块,当UserA拉取代码时git无法merge此改动,就会出现如下错误提示,
error: Your local changes to the following files would be overwritten by merge: cn/trinea/appsearch/xxx.java
Please, commit your changes or stash them before you can merge.
这时
(1) 如果希望保存本地改动并拉下最新服务器代码,手动merge,使用命令如下:
$ git stash
$ git pull
$ git stash pop
$ git diff -w cn/trinea/appsearch/xxx.java
其中git stash表示备份当前工作区内容到git栈中,并使当前工作区内容与上次提交时一致,然后git pull拉取最新代码,git stash pop表示从Git栈中读取最近一次保存的内容,恢复工作区的相关内容,最后git diff表示手动merge你之前冲突的文件
(2) 如果希望服务器上版本完全覆盖本地修改,使用如下命令回退并更新
$ git reset --hard
$ git pull