史上最全Git操作指南 (Git 常用操作命令、Idea中Git的使用 、Git图形工具TortoiseGit的使用)

一、Git的工作流程

 

相关说明:

版本库:.git隐藏文件夹就是版本库,存储了很多配置信息、日志文件和文件版本信息
工作区:包含.git文件夹的目录就是工作目录,主要用于存放开发的代码
暂存区:.git文件夹有很多文件,其中有一个index文件就是暂存区,也叫做stage,暂存区是一个临时保存修改文件的地方。

基本流程:

  1、从远程仓库中克隆代码到本地仓库
  2、从本地仓库中checkout代码然后进行代码修改
  3、将代码提交到本地的暂存区
  4、从暂存区提交到本地仓库
  5、将代码推送到远程仓库

 

二、相关下载地址

Git 下载地址:https://git-scm.com/download 

TortoiseGit下载地址: https://tortoisegit.org/download/

 

三、git常用操作命令


1、设置用户信息
git config --global user.name "gonghua"
git config --global user.email "1617671154@qq.com"

2、查看配置信息
git config --list
git config user.name
上面的命令设置的信息会保存在~/.gitconfig文件中

3、获取git仓库的两种方式
(1)在本地初始化一个git仓库   
    比如我要建一个名为gitrepo的仓库,建立一个gitrepo文件夹,进入文件夹,
    执行git init命令,会在这个目录下生成一个.git隐藏的文件夹。
(2)从远程仓库克隆
    git clone 远程git仓库地址。

4、git工作目录下的文件存在两种状态:
(1)untracked未跟踪(未被纳入版本控制)
(2)tracked已跟踪(被纳入版本控制)
    Unmodified 未修改状态
    Modified 已修改状态
    Staged已暂存状态


5、本地仓库操作
   (1)查看文件状态  
    git status 或 git status -s
   (2)将未跟踪的文件加入到暂存区 
    git add aaa.txt
   (3)从暂存区取消该状态操作
    git reset HEAD aaa.txt
   (4)将暂存区的文件提交到本地版本库:
    git commit -m "注释说明" aaa.txt  
            或 git commit -m "注释说明"  提交所有暂存区的文件。
   (5)删除文件:
    git rm aaa.txt 删除工作区的文件并把暂存区的也删了
    git commit -m "删除了aaa.txt文件" 把删除的文件也提交到本地版本库
   (6)将文件添加到忽略列表:(如:日志文件、class文件等)可以
    在工作目录创建一个名为.gitignore文件(文件名称固定)
   (7)查看日志记录:
    git log    退出输入q即可
    
    
6、远程仓库操作
   (1)查看远程仓库 
    git remote 或 git remote -v  或git remote -v origin
   (2)添加远程仓库 
    git remote add origin(仓库别名) 仓库地址
   (3)从远程仓库克隆
    git clone url地址
   (4)移除无效的远程仓库
    git remote rm origin(仓库别名)   
    此命令只是从本地移除远程仓库的记录,并不会真正影响到远程仓库
   (5)从远程仓库中抓取与拉取
    git fetch 从远程仓库获取最新版本到本地仓库,不会自动merge(合并)。
    git pull 从远程仓库获取最新版本并merge(合并)到本地仓库。

    git fetch origin master  (origin:远程仓库地址别名,master:分支名称),存放在.git/objects里。
    git merge origin/master 手动去合并。

    git pull origin master (origin:远程仓库地址别名,master:分支名称),直接拉取到工作区。
    
    注意:如果当前版本仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程
              仓库拉去文件的时候会报错(fatal:refusing to merge unrelated histories),解决其问题可以在
              git pull 命令后加入参数 --allow-unrelate-histories。
   (6)推送到远程仓库
    git push origin master (把我本地的master分支推送到远程仓库的master分支上去)。
    针对修改的文件操作步骤:先把修改后的文件加入到暂存区和本地仓库,再推送到远程仓库,
    git add  aaa.txt 然后 git commit aaa.txt   这两步替换成一步为:git commit -a aaa.txt
    
7、git分支操作
  (1)查看分支
    列出所有本地分支:git branch
    列出所有远程分支:git branch -r
    列出所有本地分支和远程分支:git branch -a
  (2)创建分支
    git branch 分支名
  (3)切换分支
    git checkout 分支名
  (4)推送至远程仓库分支
    git push origin localbranch(origin是远程的分支名,localbranch是本地的分支名)
  (5)合并分支
    git merge 分支名
    如果两个不同的分支中,对同一个部分进行了不同的修改,git就没办法合并它们,同时会提示文件冲突,
    此时需要打开冲突的文件并修复冲突内容,最后执行git add 命令来标识冲突已解决。
  (6)删除分支    
    git branch -d 本地分支名    如果本地改了,但并没有提交到远程分支或没有合并到其他分支里去,
      则使用git branch -D 本地分支名
                 删除远程仓库中的分支:git push origin -d  远程分支名
    
8、git标签操作
   (1)列出所有标签git tag ,  git show tagname查看tag信息
   (2)创建新标签  git tag tagname
   (3)将标签推送至远程仓库 git push origin tagname
   (4)检出标签
    新建一个分支,指向某个tag,git checkout -b 分支名 tagname
   (5)删除标签
    删除本地标签: git tag -d tagname
    删除远程标签:git push origin :refs/tags/tagname

 

四、Idea中Git的使用


(1)创建工程并将工程添加至git
    VCS--import into Version Control -- Create Git repository --找到项目 点击ok
(2)将文件添加到暂存区
    工程右键--Git--Add
(3)提交文件
    1) 工程右键--Git --Commit Directory
    2) 选中工程--VCS--Commit
(4)将代码推送到远程仓库
    工程右键--Git --Repository -- Push
(5)从远程仓库克隆工程到本地
    File -- New -- Project from Version Control -- 填写远程工程的仓库地址
(6)从远程拉取代码
     1) 工程右键--Git --Repository -- Pull
    2) 选中工程--VCS--Git -- Pull
(7)版本对比
    选中文件右键--Git -- Compare with
(8)创建分支
    工程右键--Git --Repository -- Branches -- new Branches  
(9)切换分支
    工程右键--Git --Repository -- Branches -- local Branches  下进行分支选择然后checkout
(10)分支合并    
    工程右键--Git --Repository -- Merge Changes--选择要合并的分支
    

    
五、Git图形工具TortoiseGit的使用


(1)创建仓库
    文件夹中右键--Git Create repository here
(2)克隆仓库
    文件夹中右键 -- Git Clone --填写远程仓库的url
(3)将文件添加到暂存区
    新添加文件--右键--TortoiseGit -- Add 
(4)提交文件
    右键 -- Git Commit --选择要提交的分支
(5)推送本地仓库至远程仓库
    1)本地库是从远程克隆的:右键--TortoiseGit -- Push -- 选择本地分支和远程仓库的分支
    2)本地库是自己创建的: 右键--TortoiseGit -- Push -- manage--填写远程仓库的地址--选择远程仓库进行推送
(6)拉取代码
    右键--TortoiseGit -- Pull --选择分支进行拉取
(7)创建分支
    右键--TortoiseGit -- Create Branch--写入分支名称
(8)切换分支
    右键--TortoiseGit -- Switch/Checkout --选择要切换的分支
(9)合并分支
    回到master分支 -- 右键 -- TortoiseGit --Merge -- 选择要合并的分支
(10)推送分支到远程仓库
    右键 --TortoiseGit -- Push -- 选择本地分支 -- remote处填写分支名 -- 选择仓库    
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值