ErBing

往事已经定格,未来还要继续。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

初始化Git仓库: git init;

添加文件到暂存区:git add 文件;

提交缓存到仓库:git commit -m "提交";

仓库当前的状态:git status;

查看区别:git diff 文件;

查看提交历史:git log;

查看命令历史:git reflog

版本回退到最新:git reset --hard HEAD; (上一个版本就是HEAD^,上上一个版本就是HEAD^^,往上100个版本写成HEAD~100

版本回退到指定commit id:git reset --hard 2342437

删除文件:git rm 文件

撤销修改(还没有被放到暂存区):git checkout -- 文件   其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除

撤销修改(已经添加到暂存区):git reset HEAD file  把暂存区的修改撤销掉(unstage)

 

创建SSH Key:ssh-keygen -t rsa -C "注释"

本地库与远程库关联:git remote add origin git@server-name:path/repo-name.git 远程库的名字默认叫origin

推送master分支到远程库:git push [-u] origin master   -u指定origin为默认主机,后面就可以不加任何参数使用git push推送当前分支了

检出仓库:git clone git://github.com/jquery/jquery.git

 

查看远程仓库:git remote -v

添加远程仓库:git remote add [name] [url]

删除远程仓库:git remote rm [name]

修改远程仓库:git remote set-url --push[name][newUrl]

拉取远程仓库:git pull [remoteName] [localBranchName]

 

查看本地分支:git branch

查看远程分支:git branch -r

创建本地分支:git branch [name]  注意新分支创建后不会自动切换为当前分支

切换分支:git checkout [name]

创建新分支并立即切换到新分支:git checkout -b [name]

删除分支:git branch -d [name]  -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

 

创建远程分支(本地分支push到远程):git push origin [name]

删除远程分支:git push origin :refs/tags/[name]

合并分支:git merge [--no-ff -m "注释"][name]  将名称为[name]的分支与当前分支合并。--no-ff表示禁用Fast forward,会创建一个新的commit,能看出曾经合并过

分支合并图:git log --graph

多人协作:

  1. 首先,可以试图用git push origin branch-name推送自己的修改;

  2. 如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

  3. 如果合并有冲突,则解决冲突,并在本地提交;

  4. 没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name

 

保存当前工作现场:git stash

查看stash列表:git stash list

恢复工作现场:git stash apply [stash@{0}] 恢复后,stash内容并不删除,你需要用git stash drop来删除

恢复工作现场:git stash pop 恢复的同时把stash内容也删了

当手头工作没有完成但又要紧急修复某个bug时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

 

查看标签:git tag

创建标签:git tag <tagname>[commit id]

指定标签信息:git tag -a <tagname> -m "注释" 

用PGP签名标签:git tag -s <tagname> -m "注释"  

查看标签信息:git show <tagname>

推送某个标签到远程git push origin <tagname> 

推送全部标签到远程:git push origion --tags

删除标签:git tag -d <tagname>

删除远程标签:git push origion:refs/tags/<tagname>

查看远程标签:git tag -r

 

Git显示颜色:git config --global color.ui true

要忽略的文件:.gitignore

配置别名:git config --global alias.st status 加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。

每个仓库的Git配置文件都放在.git/config文件中,当前用户的Git配置文件放在用户主目录下的一个隐藏文件.gitconfig

 

 
 
 
 
 
posted on 2017-03-30 22:29  ErBing  阅读(318)  评论(0编辑  收藏  举报