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

相关推荐