Git仓库的基本用法

1. git 的初始化

$ git config --global user.name "Your name"
$ git config --global user.email "email@example.com"

1. 创建版本库

1.1 第一步

$ mkdir learngit
$ cd learngit
$ pwd(该命令用于显示当前目录)

1.2. 第二步

$ git init 初始化仓库

3. 把文件添加到版本库

$ git add readme.txt  (可以多次使用)
$ git commit -m "wrote a readme file"

在这里需要注意的是,我们可以添加多个文件过去:

$ git add <file> (可以添加多个文件)

4. 查看仓库的状态

$ git status 掌握当前的仓库的动态
$ git diff <file>  查看文件哪里被修改了

5. 版本退回

$ git log (提交的日志)
$ git reflog (查看命令历史) 

命令git log,显示从最近到最远的目录

$ git log --pretty=oneline

我们把版本退回上一个

git reset --hard HEAD^ (将版本退回到HEAD^)
git reset --hard <commit id> 

6. 工作区和暂存区

工作区(Working Directory):
        ~~~~~~~        工作区,就是你在电脑里能看到的目录。比如learngit 文件夹。

版本库(Respository):
        ~~~~~~~        工作区有个隐藏目录.git,这里存放的就是Git的版本库

$ git add 把文件添加进去,实际就是把文件修改添加到暂存区
$ git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支

6.1 管理修改

$ git diff HEAD --readme.txt

修改过程

第一次修改 -> add -> 第二次修改 -> add -> commit 
如果不add到暂存区,加入commit.

撤销修改
        ~~~~~~~        利用get checkout --file可以丢弃工作区的修改。

$ git checkout --readme.txt
其本质就是把版本库的版本替换工作区的版本,无论

        ~~~~~~~        命令git checkout --readme.txt的意思就是,把readme.txt文件所在的工作区的修改全部撤销,这里有两种情况:

        ~~~~~~~        一种是readme.txt修改后没有放到暂存区,现在,撤销修改就退回到版本库一样的状态。

        ~~~~~~~        一种是readme.txt修改后,放到暂存区,又作了修改,现在,撤销修改就退回到添加到缓存区后的状态。

        ~~~~~~~        总之,就是让这个文件回到最近一次git commitgit add时的状态。

        ~~~~~~~        利用git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回到工作区。

$ git reset HEAD readme.txt
git reset 命令既可以退回版本,也可以把暂存区退回到工作区。

删除文件
        ~~~~~~~        Git中,删除也是一个修改操作。

$ rm test.txt

        ~~~~~~~        现在你有两个选择,一确实要从版本库中删除文件,那就用命令 git rm 删掉, 并且 commit:

$ git rm text.txt
$ git commit -m "remove text.txt"

远程仓库

7. Github的仓库

       ~~~~~~       创建一个learngit仓库还是空的,可以把本地仓库的内容推送到 Github仓库。

$ git reomte add orgin git@github.com:kaitokuriba7/learngit.git
然后可以把本地库所有的内容
$ git push -u origin master

       ~~~~~~       推送最新的修改

$ git push origin master

克隆远程库

$ git clone 命令

8.分支管理

8.1创建与合并分支

       ~~~~~~       首先,我们创建dev分支,然后切换到dev分支:

创建dev分支,然后切换到dev分支:
$ git checkout -b 'dev'
相当于两条命令
$ git branch dev
$ git checkout dev

       ~~~~~~       利用git branch命令会列出所有分支

 $ git branch
*dev
 master

       ~~~~~~       然后修改分支,在分支修改完成后,我们把dev分支的工作成果合并到master上。

第一步是切换回master线
$ git checkout master
第二步是把dev分支合并到master上
$ git merge dev

       ~~~~~~       合并完成后,就可以删除分支了


$ git branch -d dev

       ~~~~~~       最后,查看branch,就只剩下master分支了

$ git branch
* master

8.2 小结

       ~~~~~~        关于分支的小结如下:

查看分支:git branch
创建分支:git branch name
切换分支:git checkout name
创建+切换分支:git checkout -b name
合并某分支到当前分支:git merge name
删除分支: git branch -d name

8.3 解决冲突

       ~~~~~~       若同时修改master以及branch中的内容,就可能引起冲突。在这种情况下,Git无法快速合并,需要解决冲突再合并。

8.4 分支管理策略

       ~~~~~~       如果想要不丢掉分支的信息,就需要强制禁止使用“Fast forward”模式,Git 就会在merge时生成一个新的commit,这样,在分支历史就可以看出分支信息。

git checkout -b dev
git add readme.txt
git commit -m "add merge"
git checkout master
git merge --no-ff -m "merge with no-ff" dev

       ~~~~~~       利用带参数的git log查看分支信息

$ git log --graph --pretty=oneline --abbrev-commit
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值