Git 版本控制 基本教程

Git经验总结

前言

做为一个程序员版本控制工具的使用是必不可少的,现在就把日常工作中我认为比较实用的Git工具的命令记录下来。

命令(${name}–变量)

初始化与基本命令
#初始化 git 仓库
git init

#初始化 git 信息
git config --global user.name ${your name}
git config --global user.email ${your e-mail}

#git 自动记住密码(这会在 gitconfig 目录下创建一个文件,用于记录账号和密码) --global 代表全局
git config --global credential.helper store

#查看git状态 可展示当前分支、暂存区状态、文件修改、文件新增等
git status

#查看版本历史(commit_id、提交时间、提交作者、说明)
git log
本地
  1. 提交暂存区

    #他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new)。
    #但不包括被删除的文件。(git2 貌似也包括删除的文件 跟git add -A差不多)
    git add .
    
    #他仅监控已经被add的文件(即 tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。
    #git add --update的缩写
    git add -u
    
    #git add -A :是上面两个功能的合集(git add --all的缩写)
    git add -A
    
    #提交单个文件到暂存区 filePath 为文件路径
    git add ${filePath}
    
  2. 提交到本地

    #提交到本地分支 message为更新信息说明
    git commit -m ${message}
    
    #提交所有信息到 加的-a参数可以将所有已跟踪文件中的执行"修改"或"删除"操作的文件都提交到本地仓库,即使它们没有经过 git add 添加到暂存区
    #注意新加的文件(即没有被git系统管理的文件)是不能被提交到本地仓库的
    git commit -a -m ${message}
    
    #追加提交,它可以在不增加一个新的 commit-id 的情况下将新修改的代码追加到前一次的 commit_id 中
    git commit --amend
    
    #获取更多帮助
    git commit --help
    
  3. 数据回退相关

    #撤回放到暂存区的文件
    git reset HEAD ${filePath} #测绘指定文件 
    git reset . #撤回所有在暂存区的文件内容
    
    #本地提交回退
    git reset --soft HEAD^ #可多次使用一直撤回
    
    #已追踪文件回退
    git reset --hard #回退所有已追踪文件到最近一次提交
    git reset --hard ${commit_id} #回退到指定的版本 commit_id 可以不是完整的,但是要能够代表想要回退的版本
    git checkout -- ${filePath} #撤回 filePath 中未提交到暂存区的数据 对未最追踪的文件无效
    
    #未追踪文件删除
    #其中 -f 表示文件 -d 表示目录, -n 代表查看将要删除的数据。如果还要删除.gitignore中的文件那么再加上 -x
    #git clean -f -d或者git clean -fd就可以了。
    git clean -fdnx
    
    #较快的删除未跟踪文件 思路先所有添加到缓存区让git追踪文件再还原文件我还喜欢再后面加个git pull 一起使用
    git add . && git reset --hard HEAD [&& git pull]
    
分支相关
#创建分支
git branch ${branch_name}

#分支切换
git checkout ${branch_name}

#创建并切换到分支
git checkout -b ${branch_name}

#分支列表,标 * 的为当前所在分支
git branch [-a] # -a 就是查看所有分支(包括远程分支),没有则只查看本地分支 

#分支合并
git merge ${name} #合并分支 到当前所在分支

#删除dev分支
git branch -d ${branch_name}

#本地分支绑定远程分支
#绑定远程仓库 git_url 为远程远程仓库地址
git remote add origin ${git_url} 
#本地分支绑定远程分支 remote_branch 远程分支名称 local_branch 本地分支名称
git branch --set-upstream-to=origin/${remote_branch} ${local_branch}  
远程
#远程克隆
git clone ${git_url} -b ${branch_name} ${filePath} #通过 http/https 协议从远程克隆岛本地并指定分支和克隆保存文件

#远程拉取
git pull

#提交到远程
git push

#同步远程分支信息
git fetch

#在本地创建一个跟远程分支同名的分支(适用于远程创建了新分支本地第一次拉取)
git checkout --track origin/${branch_name}

#删除远程分支
git branch -r -d origin/${branch_name  }
git push origin:${branch_name} 

#本地新分支提交到远程
git push --set-upstream origin ${branch_name}

参考文献

  1. https://www.cnblogs.com/qianqiannian/p/6005628.html – git commit
  2. https://www.liaoxuefeng.com/wiki/896043488029600/900002180232448 廖雪峰的Git教程
  3. https://stackoverflow.com/questions/61212/how-to-remove-local-untracked-files-from-the-current-git-working-tree --git clean
  4. http://suo.im/62K13W --git 远程操作(短链接)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值