首页 > 其他 > 详细

Git常用操作笔记(待完善)

时间:2020-02-19 22:38:05      阅读:49      评论:0      收藏:0      [点我收藏+]

Git存储的是文件快照,SVN基于差异存储

Git安装及公钥相关

Linux安装

Ubuntu或Debian安装Git命令:sudo apt-get install git

其他Linux版本源代码安装命令:

./config
make
sudo make install

Windows安装

安装程序下载地址:msysgit

安装完成后,设置全局用户名和邮件:

git config --global user.name "your name"
git config --global user.email "xxxx@xxx.com"

公钥生成及配置

创建当前机器的SSH Key,生成过程中让输入密码时可全部回车,避免后续与远程仓库打交道输密码

ssh-keygen -t rsa -C "xxxxx@xx.xx" # 邮箱

配置:将机器的SSH Key公钥添加到Github/Gitlab等(id_rsa.pub文件内容)

常用操作

当不清楚某条命令的具体用法和选项时,可在命令后加--help查看手册,如:

git log --help

创建仓库及简单提交

仓库(repository),可以理解为一个目录,Git管理目录里所有文件

  1. 将目录变成Git管理的仓库,在目录下执行git init

  2. 将工作区文件添加到缓冲区git add file_name1 file_name2

  3. 将缓冲区文件添加到仓库

    git commit -m "first commit"    # -m 是本次提交说明,"first commit"是说明内容
    git commit # 不加-m会自动打开vim令输入说明内容

一些常用命令

git status # 查看当前状态
git diff [file] # 查看工作区修改(-代表删掉的内容,+代表新加入的内容),file表示是否查看指定文件
git log # 显示最近到最远的提交日志
git reset --hard commit_id # 版本回退(把HEAD指向指定commit)
git reflog  # 查看操作历史,可用来回退操作
git log -g # 同上

分支

删除分支

git branch -d dev   # 删除dev分支
git branch -D dev   # 强行删除dev分支

创建分支,可指定从某个commit切出新分支

git checkout -b dev [commit] # commit不写则默认从当前HEAD创建新分支dev

合并xx分支到当前分支

git merge xx  # Fast forward模式
git merge --no-ff dev -m "your comment"  # 禁用fast forward模式,merge时生成新的commit

版本管理

撤销

修改后未add(未添加到暂存区)需要撤销时;修改后add(未commit)再次修改文件,要撤销第二次修改时

git checkout -- file  # 撤销工作区修改

修改后add(未commit),需要撤销修改

git reset HEAD file      # 将暂存区修改删除,此时工作区修改还未撤销
git checkout -- file     # 撤销工作区修改

修改后add并commit,需要撤销修改

git reset --hard HEAD^   # HEAD^代表上一个版本,HEAD^^代表上上个版本

删除文件

从仓库里删除,并不再追踪

git rm file # 从git追踪中一并删除 
git commit # 最好带上-m说明

误删(rm file),但版本库里还有,需要恢复

git checkout -- file  # 本质上是对修改的撤销

误删(git rm并且commit)就用git reset恢复

远程仓库相关

clone仓库

git clone git@host:user/path/xxx.git # host指主机地址,下载整个仓库
git clone -b 分支名 仓库地址 # 下载指定分支
git remote add origin git@server-name:path/repo.git # 关联repo仓库,并命名为origin
#例子,xxx是github账户名,gitname是远程仓库的名字
git remote add origin git@github.com:xxx/gitname.git  

推送(git push),不带任何参数则默认只推送当前分支

git push -u origin master   # -u 将本地master分支同远程master分支关联起来
git push origin dev  # 将本地dev分支推送到远程关联分支,如远程分支不存在则被新建,此处忽略了远程分支名
git push [-f] # 表示强制推送,用本地覆盖远程

标签

TODO

.gitignore文件

用处:不追踪指定文件如编译产生的二进制文件,避免手误加入导致仓库庞大

TODO

git log高级用法

参考资料

Git常用操作笔记(待完善)

原文:https://www.cnblogs.com/gizing/p/12333477.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!