GIT的基本操作

所有的版本控制系统,只能跟踪文本文件的改动,比如TXT文件,网页,所有的编程代码等等

工作区:写代码的地方

暂存区:git add 到的地方

版本库:git commit 到的地方

一、基本操作

1.git init:把当前目录变成Git可以管理的仓库

2.git add <file> :添加文件到Git仓库

3.git commit -m <message> :添加文件到Git仓库

4.git reset :

  • --soft:仅撤销commit,暂存区、工作区内容不变
  • --mixed:撤销commit和add,工作区内容不变
  • --hard:恢复到某个版本库中的代码(暂存区,工作区均变化)
  • HEAD表示当前版本,上一个版本HEAD^,上上一个版本HEAD^^,上100个版本HEAD~100

5.git diff <file> :查看修改的内容

6.git checkout  - - file 把文件在工作区的修改全部撤销

7.git rm file:删除一个文件

8.git clone 地址:克隆一个仓库

9.git stash:把工作现场“储藏”起来

10.git stash list:储藏列表

11.git stash apply:恢复储藏内容,但是恢复后,stash内容不删除

12.git stash drop:删除储藏内容

13.git stash pop:恢复的同时把stash内容也删除了

14.git stash apply stash@{0}:恢复指定的stash

15.git push origin master:把本地提交推送到远程库master分支

16.git pull:把最新的提交从远程库的某个分支抓下来(当有分支冲突的时候)

17.git branch --set-upstream-to=origin/dev dev: 设置本地dev分支和origin/dev的链接

 

18.git status :查看当前工作区的状态

19.git diff <file> :查看修改的内容

20.git log :查看提交历史,以便确定要回退到哪个版本

21.git reset --hard HEAD^ 

22.git relog :查看历史命令,以便确定要回到未来的哪个版本

23.git remote:查看远程库的信息

    git remote -v:查看更详细的信息

24.git tag:查看所有的标签

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

 

二、添加远程仓库

1.ssh-keygen -t rsa -C "你的邮件地址"

2.添加远程仓库 git remote add origin https://github.com/winwto/qunar.git

3.git push -u origin master 

    -u:关联一个远程库

 

三、创建与合并分支

一开始的时候,master分支是一条线,Git用master指向最新的提交,再用HEAD指向master,就能确定当前分支,以及当前分支的提交点;每次提交,master分支都会向前移动一步,这样,随着你不断提交,master分支的线也越来越长:

master-branch-forward.mp4

当我们再创建一个新的分支dev时,Git新建了一个指针叫dev,指向master相同的提交,再把HEAD指向dev,表示当前分支在dev上:

从现在开始,对工作区的修改和提交就是针对dev分支,比如新提交一个后,dev指针往前移动一步,而master指针不变:

假如我们在dev上的工作完成了,就可以把dev合并到master上。

直接把HEAD指向master。在合并完之后也可以删除dev分支。这样我们就只剩下一条master分支。

 

master-and-dev-ff.mp4

  • git checkout -b dev:创建dev分支,然后切换到dev分支
    -b 表示创建并切换
    等价于 git branch dev:创建新分支dev   
                git checkout dev:切换分支dev
  • git merge dev:把dev分支的工作成果合并到master分支上
  • git branch -d dev:删除dev分支
    -D 强制删除
  • git log --graph:查看分支合并图
  • - -no - ff普通模式合并,合并后的历史有分支,能看出来曾经做过的合并,而fast forward合并就看不出来曾经做过合并

     

四、标签管理

1.git tag <name>:创建新标签

2.git tag -a <name> -m “说明文字”:创建新标签

3.git push origin <tagname> :推送一个本地标签

4.git push origin --tags:可以推送全部未推送过的本地标签

5.git tag -d <tagname>:可以删除一个本地标签

6.git push origin :refs/tags/<tagname>可以删除一个远程标签

 

五、课外

1.忽略特殊文件

在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。

https://github.com/github/gitignore

2.配置别名

git config --global alias.st status:设置status的别名为st

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

 

配置Git的时候,加上--global是针对当前用户起作用的,如果不加,那只针对当前的仓库起作用。

配置文件放哪了?每个仓库的Git配置文件都放在.git/config文件中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值