Git使用详解

来源:互联网 发布:ubuntu进入命令行界面 编辑:程序博客网 时间:2024/05/16 05:42
1、git:查看本机是否安装了git
2、安装完成后执行 
  git config --global user.name"Your name"
  git config --global user.email"email@example.com"
  git config 命令的--global参数表示这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和
  Email地址
3、创建版本库
进入某个目录执行 git init命令将这个目录变成Git可以管理的仓库,之后该目录下会多一个.git的目录,这个目录是Git来跟踪管理版本库的,如果没有看到.git目录,可能是系统隐藏,用ls -ah
命令查看即可
4、添加文件到Git仓库
git add <file>(可以反复多次使用,添加多个文件)
git commit -m "xxxx" -m后面输入本次提交的说明,可输入任意内容,当然最好是有意义的
5、 git status :查看仓库当前的状态(哪些文件被修改)
git diff <file> : 查看具体文件被修改的内容
我们在执行了git add之后,命令行会没有任何提示信息的,这时候我们可以运行git stauts查看当前仓库状态,这样我们就可以知道将要被修改的内容,这可以放心的git commit
6、 git log:显示从最近到最远的提交日志,包括commit id、Author、提交说明
git log --pretty=oneline:加上这个参数,提交日志只会显示提交的commit id以及提交说明
git reset --hard HEAD^ :回退到上一个版本(--hard 为参数)
git reset --hard HEAD^^:回退到上上个版本
git reset --hard HEAD~1OO:回退到往上100个版本
git reset --hard commit id: 回到未来的某个版本,当你执行回退操作后想回到回退前的版本时使用
git reflog:查看执行过的每一次命令,当前一天回退,第二天后悔要撤销回退时,可以通过该方法获取回退前执行的commit 的commit id,然后再执行git reset --hard commit id的方法回到会退前的版本
7、Git的工作区、暂存区(stage或者叫index)、版本库
工作区:我们在电脑中看到的我们的工作目录就是工作区(指的是project所在目录)
版本库:工作区内有一个隐藏文件.git,这个是Git的版本库
暂存区:Git的版本库中存了很多东西,其中最重要的就是被称为stage的暂存区
前面我们把文件添加入Git版本库的时候分两步,git add实际上是把文件提交到暂存区,git commit实际上是把暂存区的所有内容提交到当前分支
8、撤销修改
git checkout --<file>: 把对应文件工作区中的修改全部撤销,包括两种情况(注意“--”很重要,如果没有则会别称切换到某个分支)
<1>文件的修改没有放到暂存区,则执行该命令会使工作区回到和版本库一模一样的状态
<2>文件的修改已经添加到了暂存区,之后再次做了修改,执行该命令会回到添加到暂存区之后的状态
总之就是回到这个文件最近一次git commit或git add的状态
git reset HEAD <file>:同样可以把暂存区的修改撤销掉,重新放回工作区,之后再放弃工作区中的修改(gitcheckout --<file>)
撤销修改总结:当你改乱了工作区中某个文件的内容,想直接丢弃工作区中的修改时,用git checkout --<file>,当你不但改乱了工作区中的某个文件,还添加到了暂存区时,想丢弃修改,可以执行git reset HEAD <file>撤销暂存区中的修改,再执行git checkout --<file>丢弃掉工作区中的修改
9、删除文件
git rm <file>:当你在工作区当中删除了文件,git status命令会告诉你哪些文件被删除了,如果确定要从版本库中删除,则使用git rm <file>命令,如果是删错了,则执行git checkout --<file>
10、设置SSH Key,如何设置及为什么设置详见本博客其他文章(设置了SSH Key才能向Github推送)
11、远程仓库和本地仓库关联
git remote add origin git@github.com:<Github账户名>/本地版本库名称.git
添加后远程仓库的名字就是origin,这是Git的默认叫法,也可以改成别的,但是origin这个名字一看知道是远程库
12、把本地版本库的内容推送到远程库
git push -u origin master:
实际上就是把当前本地分支master推送到远程origin库,如果远程库是空的,我们第一次推送master分支时,要加上-u参数,Git不但会把本地的master分支内容推送到远程新的master分支,还会把本地master分支与远程master分支关联起来,在以后的推送或者拉取时就可以简化命令,从现在起,只要本地作了提交,就可以通过命令git push origin master,把本地master分支的最新修改推送到Github
13、从远程库克隆
git clone 远程仓库路径
14、分支
git branch:会列出所有分支,当前分支前面会标有*号
git branch <分支名>:创建分支
git branch -d <分支名>:删除指定分支
git branch -D <分支名>:强行删除没有被合并过的分支
git checkout <分支名>:切换到指定分支
git checkout -b <分支名称>:git checkout命令加上-b参数表示创建并切换,相当于git branch和gitcheckout
git merge <分支名>:将指定分支的工作成果合并到当前所在分支
git log --graph命令可以看到分支合并图
git merge --no-ff -m "commit 说明" <分支名> :这种合并方式会创建一个新的commit,所以需要加上-m参数,这样合并后会有历史分支留存,普通的合并(fast forward合并)看不出曾经做过合并。
15、BUG分支的处理
软件开发中,通过Git,每个bug都可以用一个新的临时分支来修复,修复完后合并分支并将临时分支删除。
当你在一个分支上工作,收到一个bug,由于新的工作没有完成不能提交,所以需要用到stash功能。
git stash:会把我们当前分支的工作现场储存起来,这时候通过git status查看工作区,就是干净的(除非有没有被Git管理的文件),之后我们可以切换到我们需要修复bug的分支,创建临时分支修复后合并,然后切换回之前工作的分支,执行git stash list查看我们存储过的工作现场,需要恢复有两个办法,一个是git stash apply恢复,但是恢复后stash内容不删除,需要用git stash drop删除,另一个方法是git stash pop,恢复的同时也把stash的内容删除。如果有多次stash,恢复的时候先用git stash list 查看,然后恢复指定的stash用命令git stash apply stash@{0}
16、多人协作
git remote:查看远程库的信息
git remote -v:查看远程库信息,会显示可以抓取和推送的远程库的地址
git checkout -b branch-name origin/branch-name:在本地创建与远程分支对应的分支,名称最好一致
git branch --set-upstream branch-name origin/branch-name:建立本地分支和远程分支的关联。
多人协作的工作模式:
<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
17、配置别名
git config --global alias.co checkout
git config --global alias.br branch
0 0
原创粉丝点击