Git使用说明

一、Git安装完成之后在命令行输入

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

2.创建SSH key : ssh-keygen -t rsa -C "921761948@qq.com"
3.将用户主目录生成的.ssh下id_rsa.pub(公钥,id_rsa是私钥)中内容复制,在github账户设置中添加ssh key粘贴。

二、Git命令

1、初始化:git init :把这个目录变成Git可以管理的仓库

2、Git代码提交流程:

  a.从远程库获取最新代码

        1)git fetch origin dev:从远程获取最新版本到本地。

        2)git pull origin dev:从远程获取最新版本到本地,并与本地代码合并。

   b. 将文件添加到git暂存区

        git add  <file_name>

   c.提交

       1)git commit -m '本次提交的说明' :将文件提交到git仓库

       2)git commit --amend :审核不通过,合并缓存区的修改或修改最近一次commit

   d. push代码到远端

       git push origin HEAD:refs/for/dev 

   e.提交后git远程库冲突解决

#本地dev分支下
git fetch origin #从远程获取代码
git rebase origin/dev #rebase 到远程分支,命令为 git rebase origin/<remote_branch>
git add <conflict_file>
git rebase --continue #继续rebase
git push origin HEAD:refs/for/dev

3、查看状态及历史

    git status:查看工作区的状态

    git reflog:查看命令历史(可查到commit id)

    git log [--pretty=oneline]:显示从最近到最远的提交日志

    git diff 文件名:查看文件修改的内容

    git diff HEAD -- readme.txt可以查看工作区和版本库里面最新版本的区别

4、分支管理

a.查看分支:

1)git branch:查看所有本地分支,在当前分支标有(*)

2)git branch -a:查看所有分支

3)git branch -r:查看远程分支

4)git log --graph:查看分支合并图

b.创建+切换分支: 

1)git branch 分支名 :创建分支

2)git checkout 分支名:切换分支

3)git checkout -b 分支名:创建+切换分支

c.合并分支:

      1)分支内容合并到master:git merge 分支名

       合并: git merge --no-ff -m "merge with no-ff" dev

d.删除分支:

git branch -d 分支名

5.回退到上一个版本

  说明:git中 HEAD:表示当前版本  HEAD^:上一个版本    HEAD^^:上上一个版本    HEAD~100:上100个版本

  a. git reset --hard HEAD^回退到上一个版本

  b. git reset --hard [commit id]:回退到前一个版本(命令行窗口还没有被关掉)

 git checkout -- readme.txt readme.txt文件在工作区的修改全部撤销。

 git reset HEAD readme.txt把暂存区的修改撤销掉(unstage),重新放回工作区.

 git rm text.txt删除一个文件

6.相关命令:

  ls -ah:查看隐藏的.git目录

  pwd:显示当前目录

  cat 文件名:查看文件内容

7、bug分支:

 a.把当前工作现场储藏:git stash

 b.查看:git stash list

 c.恢复并删除:

1).git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

2).git stash pop恢复的同时把stash内容也删了

三、暂存区:

    工作区有一个隐藏的目录.git,其实是git的版本库,它里面最重要的是称为stage(或者叫index)的暂存区,git给我们自动创建的第一个分支是master,指向master的一个指针叫HEAD

git add:实际上就是将文件修改添加到暂存区

git commit:实际上就是把暂存区的所有内容提交到当前分支

四、.git隐藏文件说明

1、HEAD文件: ref: refs/heads/dev

  指向 .git efsheadsdev文件,文件中保存的是本地最新的commitId
2、.git efs文件夹
heads:
remotes:一个文件夹代表一个远程库名称,其中的每个文件关联远程库的一个分支,其中保存该分支的最新commit id
tags:
3、.gitlogs文件夹
保存的是.git efs文件夹下相应文件的变更记录

原文地址:https://www.cnblogs.com/wjh123/p/6187895.html