git常用命令

来源:互联网 发布:网络运营商密码是什么 编辑:程序博客网 时间:2024/05/16 10:02
git常用命令的使用
1.创建版本库:
1.1:创建版本库
1.1.1mkdir repo_dir
1.1.2git init:初始化仓库


1.2:把文件添加到版本库
1.2.1git add file_name file_name:把文件添加到仓库git add .
1.2.2git commit -m "msg_string":把文件提交到仓库
2.修改管理:
2.1:版本回退
2.1.1git status:查看当前仓库的状态
2.1.2working directorystage、index repo、HEAD
git chekcout -- files     0 0
git reset -- file  0 0
git diff file 00(TAIL)
git diff   0 0
git diff --cached  0 0
git diff HEAD  0 0(HEAD)
git num1 num2(commit id) 00
git reset --hard HEAD  00
git reset HEAD    0 0
2.1.3git log:查看每次修改的日志(嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline)
2.1.3git reset --hard HEAD^(HEAR~num,HEAD指针向上num单位):当前工作区恢复成HEAD指针的指向
2.1.4git reflog:查看版本库
2.1.5版本之间的切换:
2.1.5.1git reflog:显示版本线(显示了commit、reset、update的时间线)
2.1.5.2git reset --hard num:粗鲁的切换到之前的版本
2.1.5.3git reflog show master:显示当前的master找到id
2.1.5.4git reset --hard 2.1.5.4的num

2.2:删除文件
2.2.1rm:删除工作区的文件
2.2.2git rm file_name:删除暂存区的文件

2.3:github
2.3.1添加远程库:git remote add origin(这个是对远程库的别名) git@github.com:michaelliao/learngit.git
2.3.2git push -u origin master:将本地库的master分支推向origin远程库.推送master分支时,加上了-u参数,
Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来
2.3.3使用命令git push -u origin master第一次推送master分支的所有内容;此后,每次本地提交后,只要有必要,
就可以使用命令git push origin master推送最新修改


3.分支管理:
3.1分支的创建、合并分支、解决冲突
3.1.1git checkout -b name:创建分支,然后切换到name分支
3.1.2git branch:查看当前分支
3.1.3git checkout name:切换name分支
3.1.4git merge:合并指定分支到当前分支
3.1.5git branch (-d) name:创建(删除)分支
3.1.6git log --graph --pretty=oneline --abbrev-commit:查看分支的合并情况
3.1.7git merge --no-ff -m "merge with no-ff" dev:关闭fast forward模式
3.1.8git merge:此时会把其他分支的commit id也合并过来,如果加上--no-ff则把其他分支的多次commit id合并成一次的commit


3.2bug分支
3.2.1git stash:可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作,保护现场
3.2.2git stash list:列出工作现场
3.2.3git stash pop:删除以及恢复现场
3.2.4git stash apply:恢复现场,git stash drop:删除保存的现场
3.2.5git branch -D <name>:强制删除


3.3多人协作
3.3.1git remote:查看远程库的信息
3.3.2git remote -v:查看远程库更详细的信息
3.3.3git push remote_repo_name local_fenzhi_name
3.3.4git checkout -b dev origin/dev:创建分支(这是从远程clone下来的库,在本地创建远程的分支)
3.3.5git pull:如果别人也同时修改了分支,就先把分支pull下来,进行合并在提交push
3.3.6git branch --set-upstream dev origin/dev:将远程的dev和本地的dev关联起来
3.3.7多人协作总结:
3.3.7.1:git push origin branch-name
3.3.7.2:如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并(如果有no tracking information,则用git branch --set-upstream branch-name origin/branch-name关联)
3.3.7.3:没有冲突或者解决掉冲突后,再用git push origin branch-name


4.标签管理:
4.1git tag <name>:打一个新标签
4.2git tag:查看所有标签
4.3git tag <name> commit_id:给之前的版本打标签
4.4git show <tagname>:查看打了标签的内容
4.5git tag -a <tag_name> -m message commit_id
4.6git tag -s <tagname> -m "blablabla...":可以用PGP签名标签
4.7git tag -d <name>:删除标签
4.8git push origin <tagname>:将标签推送到远程
4.9git push origin --tags:将所有标签推送到远程
4.10删除远程的标签:git tag -d tag_name,git push orgin_name :refs/tags/tag_name

5.github的使用:
4.11参与一个开源项目:比如bootstrap项目,你可以访问它的项目主页https://github.com/twbs/bootstrap,点“Fork”就在自己的账号下克隆了一个bootstrap仓库,
然后,从自己的账号下clone:git clone git@github.com:michaelliao/bootstrap.git
4.12如果你希望bootstrap的官方库能接受你的修改,你就可以在GitHub上发起一个pull request


6.自定义git:
6.1显示颜色:git config --global color.ui true
6.2git config --global user.name [username]
6.3git config --global user.email [email]

7diff合并模式:
10.1diff -u f1 f2
--- f1 2012-08-29 16:45:41.000000000 +0800
+++ f2 2012-08-29 16:45:51.000000000 +0800
@@ -1,7 +1,7 @@
a
a
a
-a
+b
a
a
  a
0 0
原创粉丝点击