Git 使用总结

所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的变化。

不幸的是,Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动的。

Git 常用基础命令合集

创建

git init 创建空的repository

git add fileName 添加修改的文件,把文件修改添加到暂存区

git commit -m '提交的消息' 把暂存区的所有内容提交到当前分支

git diff commitId1 commitId2 查看两次提交的区别

git diff commitId1:fileName commitId2:fileName 查看两次提交的文件的区别

分支

git branch 查看分支

git branch branchName 创建分支

git checkout branchName 切换到branchName分支

git checkout -b branchName创建并切换到branchName分支

git checkout -b branch-name origin/branch-name 在本地创建和远程分支对应的分支

git merge branchName 把branchName分支合并到当前分支

git branch -d branchName 删除branchName分支,注意不要在branchName分支上做这个操作

git branch --set-upstream branch-name origin/branch-name 建立本地分支和远程分支的关联

查看修改

git status 查看当前状态,有哪些改动

git diff fileName 查看文件修改的内容

git diff HEAD -- fileName 查看文件fileName工作区和版本库最新版本的区别


撤销修改

git reset --mixed 把已经添加到暂存区的修改撤回,改为非暂存状态

git reset --hard commit_id 回滚到commit_id的commit

git checkout -- fileName 撤销fileName文件在工作区的修改,注意--不要丢掉,回到添加到暂存区后的状态

git reset HEAD fileName 把暂存区的fileName的修改撤销掉

查看提交历史

git log 查看提交历史

git log --pretty=oneline 查看log,一行一行地显示

git reflog 查看git操作记录

创建ssh key

ssh-keygen -t rsa -C "[email protected]" //生成一对公钥id_rsa.pub 私钥id_rsa

cat ~/.ssh/id_rsa.pub //查看生成的公钥

远程仓库

Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快

git remote add origin remoteUrl 远程建了一个空仓库,连接本地到远程(remoteUrl是远程仓库的地址)

git push origin master 把本地分支master 推送到远程

git clone remoteUrl 克隆一个远程已存在的仓库到本地(remoteUrl是远程仓库的地址)

标签管理

git tag tagName 为当前分支打名字为tagName的标签,默认标签是打在最新提交的commit上

git tag tagName commit_id 在commit_id上打tag,适用于忘记打tag的情况

git tag -a tagName -m "blablabla..." 打标签指定标签信息

git show tagName 查看tag的说明

git tag -d tagName 删除本地标签tagName

git push origin tagName 把标签推送到远程

git push origin --tags 推送所有标签到远程

git push origin :refs/tags/tagName 删除远程的标签tagName

git tag --list 查看所有tag

git checkout -b tagBranch tagName 检出tag代码

Git 命令进阶

修改提交message

#Commit has not been pushed online

git commit --amend

#Amending the message of the most recently pushed commit

git commit --amend

git push --force

Git rebase

#rebase 远程分支

git fetch

git rebase origin

处理conflicts

git add .

git rebase --continue

git push origin master

#rebase 本地分支

git rebase branchName

处理conflicts

git add .

git rebase --continue

git push origin master

多行注释

git commit -m '

1.one

2.two

'

查看本地分支跟踪的远程分支

git branch -vv

切换跟踪的分支

git remote rm origin

git remote add origin [email protected]:lejiangkai/MXD.git

git push -u origin feature5.5.4

stash用法

git stash

git stash pop

git list

git stash apply stash@{3}

合并某个分支的单个文件

git checkout targetbranch

git checkout needMergeBranch -- needMergeFileName

如: 分支test上有一个文件A,你在test1分支上, 此时如果想用test分支上的A文件替换test1分支上的文件的话,可以使用

git checkout test1

然后

git checkout test -- A

未完待续......

你可能感兴趣的:(Git 使用总结)