git基本使用命令

目录

一、安装完后创建用户名和邮箱

二、创建版本库

三、查看历史纪录

四、版本回退

五、查看状态

六、撤销修改

七、删除文件

八、分支管理

1、创建与合并分支

2、解决冲突

3、分支策略

九、远程仓库

1、添加远程库

2、查看本地关联的远程仓库

3、删除已关联的远程库

4、推送到远程仓库

5、SSH警告

6、拉取到本地



一、安装完后创建用户名和邮箱

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

二、创建版本库

1、进入到相应的目录然后执行以下命令创建版本库:

$ git init

注意:如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。

 

2、把文件添加到仓库

$ git add readme.txt

3、把文件提交到仓库

$ git commit -m "wrote a readme file"
[master (root-commit) eaadf4e] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

三、查看历史纪录

1、基本命令

$ git log
commit 1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master)
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Fri May 18 21:06:15 2018 +0800

    append GPL

commit e475afc93c209a690c39c13a46716e8fa000c366
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Fri May 18 21:03:36 2018 +0800

    add distributed

commit eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Fri May 18 20:59:18 2018 +0800

    wrote a readme file

注意:如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数:

$ git log --pretty=oneline
1094adb7b9b3807259d8cb349e7df1d4d6477073 (HEAD -> master) append GPL
e475afc93c209a690c39c13a46716e8fa000c366 add distributed
eaadf4e385e865d25c48e7ca9c8395c3f7dfaef0 wrote a readme file

2、查看所有的记录

git reflog

 

四、版本回退

1、依次回退

$ git reset --hard HEAD^
HEAD is now at e475afc add distributed

注意:回退上一步就用一个^,依次回退上几步就用几个^

2、指定回退

$ git reset --hard 1094a
HEAD is now at 83b0afe append GPL

1094a:这是commitId

 

五、查看状态

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

    modified:   readme.txt

no changes added to commit (use "git add" and/or "git commit -a")

 

六、撤销修改

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令:

git checkout -- file

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令:

git reset HEAD <file>

,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退,不过前提是没有推送到远程库。

七、删除文件

当手动把工作区中的文件删除后,如果想要永久删除该文件,那么也要把版本库中的纪录也删除:

以删除test.text文件为例,先用命令git rm删掉,并且git commit

$ git rm test.txt
rm 'test.txt'

$ git commit -m "remove test.txt"
[master d46f35e] remove test.txt
 1 file changed, 1 deletion(-)
 delete mode 100644 test.txt

 小提示:先手动删除文件,然后使用git rm <file>和git add<file>效果是一样的。

当误删除了怎么办?如果版本库中没有被删除,那么可以使用:

$ git checkout -- test.txt

 

八、分支管理

1、创建与合并分支

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

2、解决冲突

当Git无法自动合并分支时,就必须首先解决冲突(将文件中<<<<<<<     =======      >>>>>>>>>> 等符号删除)。解决冲突后,再提交,合并完成。

解决冲突就是把Git合并失败的文件手动编辑为我们希望的内容,再提交。

git log --graph命令可以看到分支合并图。

3、分支策略

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本;

你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

 

九、远程仓库

1、添加远程库

(1)首先,登陆GitHub/码云,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库(名为learngit)。

(2)将本地仓库和远程仓库关联

$ git remote add origin git@github.com:michaelliao/learngit.git

注意:git@github.com:michaelliao/learngit.git这是各自的SSH地址。

2、查看本地关联的远程仓库

git remote
origin

或者

git remote -v
origin    git@github.com:michaelliao/learngit.git (fetch)
origin    git@github.com:michaelliao/learngit.git (push)

3、删除已关联的远程库

git remote rm origin

4、推送到远程仓库

$ git push -u origin master
Counting objects: 20, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (20/20), 1.64 KiB | 560.00 KiB/s, done.
Total 20 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5), done.
To github.com:michaelliao/learngit.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

注意:

把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令,如下:

$ git push origin master

5、SSH警告

当你第一次使用Git的clone或者push命令连接GitHub时,会得到一个警告:

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?

这是因为Git使用SSH连接,而SSH连接在第一次验证GitHub服务器的Key时,需要你确认GitHub的Key的指纹信息是否真的来自GitHub的服务器,输入yes回车即可。

Git会输出一个警告,告诉你已经把GitHub的Key添加到本机的一个信任列表里了:

Warning: Permanently added 'github.com' (RSA) to the list of known hosts.

注意:还有一种解决办法就是在本地中需要生成SSH KEY

(1) ssh-keygen -t rsa -C "GitHub/码云邮箱地址"            ——在自己的计算机中增加一个安全的ssh key

(2)在计算机中找到生成的ssh key(我的是在C:\Users\Admin\.ssh文件夹中——id_rsa.pub),然后将ssh key 复制到GitHub/码云的SSH中。

6、拉取到本地

$ git clone git@github.com:michaelliao/gitskills.git
Cloning into 'gitskills'...
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 3
Receiving objects: 100% (3/3), done.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值