git常用命令大全

2018-03-28


初始化配置

**配置使用git仓库的人员姓名** git config --global user.name "Your Name Comes Here"  **配置使用git仓库的人员email**  git config --global user.email you@yourdomain.example.com 

**配置到缓存 默认15分钟**git config --global credential.helper cache 

**修改缓存时间**git config --global credential.helper 'cache --timeout=3600'git config --global color.ui true  git config --global alias.co checkout  
git config --global alias.ci commit  
git config --global alias.st status  
git config --global alias.br branch  
git config --global core.editor "mate -w"    # 设置Editor使用textmate  git config -1 #列举所有配置   **用户的git配置文件~/.gitconfig**

查看添加提交删除找回重置修改文件">查看、添加、提交、删除、找回,重置修改文件

git help <command>  **显示command的help**  git show            **显示某次提交的内容**  git show $id  
git co  -- <file>   **抛弃工作区修改**  git co  .          **抛弃工作区修改**  git add <file>      **将工作文件修改提交到本地暂存区**  git add .           **将所有修改过的工作文件提交暂存区**  git rm <file>       **从版本库中删除文件**  git rm <file> --cached  **从版本库中删除文件,但不删除文件**git reset <file>    **从暂存区恢复到工作文件**  git reset -- .     **从暂存区恢复到工作文件**git reset --hard    **恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改**  git ci <file>  git ci .  git ci -a           **将git add, git rm和git ci等操作都合并在一起做**  git ci -am "some comments"  git ci --amend      **修改最后一次提交记录**  git revert <$id>    **恢复某次提交的状态,恢复动作本身也创建了一次提交对象**  git revert HEAD     **恢复最后一次提交的状态**

查看文件diff

git diff <file>     **比较当前文件和暂存区文件差异**git diff <$id1><$id2>   **比较两次提交之间的差异** git diff <branch1>..<branch2> **在两个分支之间比较** git diff --staged   **比较暂存区和版本库差异**git diff --cached  **比较暂存区和版本库差异**git diff --stat     **仅仅比较统计信息**** Mac上可以使用tig代替diff和log,brew install**

取得git仓库

**初始化一个版本仓库**  git init  
**Clone远程版本库**git clone git@xbc.me:wordpress.git **添加远程版本库origin,语法为 git remote add [shortname] [url]**git remote add origin git@xbc.me:wordpress.git  查看远程仓库git remote -v

提交你的修改

**添加当前修改的文件到暂存区**  git add .  **如果你自动追踪文件,包括你已经手动删除的,状态为Deleted的文件**git add -u**提交你的修改**git commit –m "你的注释"**推送你的更新到远程服务器,语法为 git push [远程名] [本地分支]:[远程分支] **git push origin master 
**查看文件状态**git status 
**跟踪新文件**git add readme.txt**从当前跟踪列表移除文件,并完全删除**git rm readme.txt **仅在暂存区删除,保留文件在当前目录,不再跟踪 **git rm –cached readme.txt  **重命名文件**git mv reademe.txt readme**查看提交的历史记录 **git log**修改最后一次提交注释的,利用–amend参数  **git commit --amend**忘记提交某些修改,下面的三条命令只会得到一个提交。**git commit –m &quot;add readme.txt&quot;  git add readme_forgotten  
git commit –amend  
**假设你已经使用git add .,将修改过的文件a、b加到暂存区  **git reset HEAD b**取消对文件的修改**git checkout –- readme.txt

分支合并和rebase

git merge <branch>      **将branch分支合并到当前分支**  git merge origin/master --no-ff **不要Fast-Foward合并,这样可以生成merge提交**git rebase master <branch>       **将master rebase到branch,相当于: **  git co <branch> && git rebase master && git co master && git merge <branch>

git补丁管理方便在多台机器上开发同步时用

git diff > ../sync.patch         **生成补丁**  git apply ../sync.patch          **打补丁**  git apply --check ../sync.patch  **测试补丁能否成功**

Git暂存管理

git stash                        **暂存**  git stash list                   **列所有stash**  git stash apply                **恢复暂存的内容**  git stash drop                   **删除暂存区**

Git远程分支管理

git remote -v                    **查看远程服务器地址和仓库名称**   git remote show origin           **查看远程服务器仓库状态 **  git remote add origin git@ github:robbin/robbin_site.git         **添加远程仓库地址**   git remote set-url origin git@ github.com:robbin/robbin_site.git # **设置远程仓库地址(用于修改远程仓库地址)  **git remote rm <repository>       **删除远程仓库**

创建远程仓库

git clone --bare robbin_site robbin_site.git  **用带版本的项目创建纯版本仓库**  scp -r my_project.git git@ git.csdn.net:~       **将纯仓库上传到服务器上**  mkdir robbin_site.git && cd robbin_site.git && git --bare init **在服务器创建纯仓库**   git remote add origin git@ github.com:robbin/robbin_site.git    **设置远程仓库地址**   git push -u origin master                                      **客户端首次提交**   git push -u origin develop   **首次将本地develop分支提交到远程develop分支,并且track **git remote set-head origin master    **设置远程仓库的HEAD指向master分支**  **也可以命令设置跟踪远程库和本地库**git branch --set-upstream master origin/master  
git branch --set-upstream develop origin/develop


服务支持

我们珍惜您每一次在线询盘,有问必答,用专业的态度,贴心的服务。

让您真正感受到我们的与众不同!

0.038004s