文章

git常用方法

git常用方法

本文档介绍 git常用方法 的相关内容。

安装

yum install git

git免密

git config --global credential.helper store cat .gitconfig [user] name = name email = xxxx@xxxx.com [credential] helper = store

全局配置

git config --global user.name "reganzm" git config --global user.email "your.email@example.com"

创建版本库

# 创建版本库不能有中文的目录名称 mkdir git_repos cd git_repos git init

提交

# 在版本库中创建一个文件 vim 111.txt # 提交到暂存区 git add 111.txt # 查看状态 git status # 提交git分支 git commit -m 'new file named 111.txt'

修改文件和提交

vim 111.txt # xxxxx 放入修改的文件 git status #可以查看到被修改 modified 111.txt git diff 111.txt #查看修改了文件的哪些内容 git add 111.txt #提交到缓存区 git commit -m 'modify the 111.txt file' #提交一个文件 git commit -m 'master commit' #提交master分支的内容

版本回退

git log #可以查看提交的日志,可以根据提交的ID来进行回退 git log --pretty=oneline #可以显示更加整齐 ID+文件 Git使用SHA1计算出一个非常大的数字,使用十六进制,git把这些提交串成一条时间线 # 当前版本使用HEAD表示,上一个版本使用HEAD^表示,上上个版本用HEAD^^,以些类推。在回退版本时可以使用这样的方式,当然这个太麻烦了,可以用下边的方式 # HEAD~99 回退到99个版本前 git reset --hard HEAD~99 #回到前99个版本,使用HEAD git reset --hard $ID #使用ID的方式回退 git reflog #可以查看到所有的操作记录、所有的命令,然后再进行回退到最新的版本

工作区

# git_repos 为工作区 # 在上边目录中有一个.git 这个为暂存区,里边包含所有信息

撤消

git checkout -- filename #该命令为重新在版本库中拉取最新的内容 git checkout -- 111.txt #拉取最新的内容 git reset HEAD 111.txt #将暂存区的文件放回到工作区

删除

rm -rf 111.txt #删除本地的文件 git status #查看状态 git rm 111.txt #删除版本库中的文件删除

密钥设置

# git 使用ssh协议进行传输,因些需要设置sshkey,在用户根目录下有一个.ssh的文件夹,里边有id_rsa私钥和id_rsa.pub公钥两个文件。 # 如果没有请支行 ssh-keygen -t rsa -P # 登陆到githut 中setting进行设置 -- ssh and gpg keys -- new ssh key -- name -- copy key to keyssh

远程仓库

# 远程站点 -- new repository #创建创建 git remote add origin https://github.com/xxxx/test.git #增加远程创建到本地 git push -u origin master #将本地的master推送到远程的origin库中 git clone https://github.com/xxx/test.git #将远程仓库同步到本地 git branch # 查看当前的分支

分支管理

git branch bigdata #创建一个分支 git checkout bigdata #切换到bigdata分支 git branch #查看当前所在的分支和所有的分支情况带*号的为当前所在的分支 git branch -d bigdata #删除bigdata分支 git checkout -b bigdata #创建并切换到bigdata分支,创建分支的另类方法 git merge bigdata #合并分支到master git merge bigdata #合并,没有分支信息 # 合并时冲突的解决方法,手动修改需要修改的内容 git merge --no-ff -m 'no ff merge' bigdata #使用no ff 进行合并,可以和commit一起合并 git log --graph --pretty=oneline --abbrev-commit #查看合并分支的历史 git stash #快照,功能,可以将当前的工作区保存,回退到某一个版本,然后再修改BUG,再恢复这个快照 git checkout -b bug001 #创建一个Bug分支 修改后再进行合并 git checkout master #回到master分支 git stash list #可以查看有哪些快照 git stash apply $stashID #恢复到快照,使用快照的ID git stash drop $stashID #删除快照 git stash pop $stashID #恢复到快照并删除快照

多人协作

git remote -v #查看当前有哪些远程库 git push -f origin dev #强制推送到远端库

git 打标签

git tag v1.1 #打标签,先切换到需要打标签的版本 git tag #查看有哪些标签 git log --pretty-oneline --abbrev-commit #如果忘记打标签,可以使用这个命令查看提交,然后再进行打标签 git tag v1.2 $id #找到历史的ID,然后进行打标签 git show v1.1 #查看标签信息 git tag -a v1.3 -m '描述' #一样可以增加标签的描述 -s 使用PGP进行签名,签名不能被修改 git tag -d v1.1 #删除v1.1的标签 git push origin :refs/tags/v1.1 #删除远端的标签,如果已同步到了远程,需要先删除本地的标签,然后再删除远端的 git push origin v1.2 #将标签推送到远端 git push origin --tags #将本地的标签全都推送到远端

other

git config --global color.ui true #在远程客户端显示颜色 .gitignore #可以添加敏感信息,让其不能进行推送 git config --blobal alias.sta status #配置别名
本文由作者按照 CC BY 4.0 进行授权