Git学习笔记

常用指令


基础指令

初始化仓库 git init
将工作区修改放到暂存区 git add 
将暂存区文件所有修改提交的分支 git commit -m “message”

查看状态 git status
查看修改日志及对应的版本号 git log( --pretty=oneline只显示版本号和备注信息)
查看命令历史 git reflog

命令git rm用于删除一个文件

HEAD指向的是当前版本
回退版本 git reset --hard commit_id(HEAD^ 上n个版本n个^ 或者HEAD~n)
将暂存区的修改撤销 git reset HEAD 
恢复到暂存区或者版本库的版本(文件未添加到暂存区时) git checkout -- 

git diff 比较的是工作区文件与暂存区文件的区别(上次git add 的内容)
git diff --cached 比较的是暂存区的文件与仓库分支里(上次git commit 后的内容)的区别

分支相关

查看分支:git branch
查看远程分支:git branch  -r
创建分支:git branch 
切换分支:git checkout 
创建+切换分支:git checkout -b 
合并某分支到当前分支:git merge 
删除分支:git branch -d(-D强制删除) 
查看分支记录:git log --graph --pretty=oneline --abbrev-commit

合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

发生冲突时(添加、删除文件或者文件内容;仅改变文件尾部内容不会冲突)需要先手动解决冲突,然后 add、commit

当手头工作没有完成时,先把工作现场git stash一下(不想提交),然后去修复bug,修复后,再git stash pop,回到工作现场。
git stash要用git status确认没有Untracked files(否则Untracked files会出现在bug分支里)

远程库

要关联一个远程库,运行 git remote add   添加一个新的远程 Git 仓库,同时指定一个可以引用的简写
(使用命令git remote add origin git@server-name:path/repo-name.git;)
关联后,使用命令git push -u origin master第一次推送master分支的所有内容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;

git fetch [remote-name]
git fetch remote_repo       
git fetch remote_repo remote_branch_name  
git fetch remote_repo remote_branch_name:local_branch_name   更新名称为remote_repo 的远程repo上的分支,并在本地创建local_branch_name 本地分支保存远端分支的所有数据。

这个命令会访问远程仓库,从中拉取所有你还没有的数据。 执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。

 git pull 命令来自动的抓取然后合并远程分支到当前分支。
=git fetch+git merge

你可能感兴趣的:(Git学习笔记)