Git常用命令操作
一、常用命令
1、git push origin :molly/dev 删远程分支
git branch -r -d origin/molly/dev 删除本地对远程分支的track
git branch --set-upstream-to=origin/<branch> <branch> //建立本地分支对远程分支的追踪
git branch -vv查看分支与远程分支追踪状态
2、git remote prune origin 更新远程分支本地track
3、git log --pretty=oneline log信息看着杂乱,可以配置单行显示
4、git reflog 查看版本足迹
5、git rm --cached [file] 移除文件,只从暂存区移除; git rm --cached * 删除所有追踪
6、git rm [file] 移除文件,工作区和暂存区都移除
7、git stash 暂存修改
git stash pop 恢复暂存并删除
git stash apply 恢复暂存
git stash drop 丢弃暂存
git stash list 查看所有暂存状态
git stash apply stash@{0} 恢复指定暂存
8、.gitignore
git add -f App.class 强制添加被ignore忽略的文件
git check-ignore -v App.class 检查哪个规则忽略了某文件
至于如何忽略已跟踪(tracked)文件,使得当本地某系文件(尤其是配置文件发生改变时,不需要体现在git变化列表中)有以下两种方式:
1>.git update-index --assume-unchanged /path/file 与git update-index --no-assume-unchanged /path/file
2>.git update-index --skip-worktree /path/file 与git update-index --no-skip-worktree /path/file
此时再对/path/file进行更改,你会发现不会体现在git status列表中
9、git config --global alias.st status 配置别名 ~/.gitconfig
10、git diff 查看工作区与暂存区的差异
git diff --cached 查看暂存区与本地仓库的差异
11、git branch|grep 'branchName'|xargs git branch -D 批量删除本地分支
12、origin/molly/module批量删除远程分支
git branch -r|awk -F '[/]' ’/molly/ {printf "%s/%s\n",$2,$3}'|xargs -I {} git push origin :{}
13、git clone -b develop ssh://git@git.xesv5.com:10088/BBRD/wx5-web/trade.git 直接克隆分支
14 、git commit --amend 1>.修改备注2>.修改提交
15、checkout
git checkout master //取出master版本的head。
git checkout tag_name //在当前分支上 取出 tag_name 的版本
git checkout master file_name //放弃当前对文件file_name的修改
git checkout commit_id file_name //取文件file_name的 在commit_id是的版本。commit_id为 git commit 时的sha值。
git checkout -b dev/1.5.4 origin/dev/1.5.4 //从远程dev/1.5.4分支取得到本地分支/dev/1.5.4
git checkout -- hello.rb //这条命令把hello.rb从HEAD中签出.
git checkout . //这条命令把 当前目录所有修改的文件 从HEAD中签出并且把它恢复成未修改时的样子.
//注意:在使用 git checkout 时,如果其对应的文件被修改过,那么该修改会被覆盖掉。
16、fetch
git fetch //取回所有分支的更新
git fetch <远程主机名> //将某个远程主机的更新
git fetch <远程主机名> <分支名> //取回特定分支的更新, 所取回的更新,在本地主机上要用”远程主机名/分支名”的形式读取。
git fetch origin master //取回origin主机的master分支
git checkout -b develop origin/develop // 在origin/develop的基础上,创建一个新分支develop
17 、从远程仓库拉取指定分支到本地
方法一: git fetch origin develop; git checkout -b develop origin/develop
方法二: git fetch origin develop:develop ; git checkout develop 从远程仓库拉取develop到 本地仓库, 并新建分支develop; 切换到develop
18、 git pull = git fetch + git merge