Git常用命令

备忘

设置与配置

上述文件转自EASY大佬微博

git config –list 列出所有git配置项

git config –global user.name “yangliuan”  配置用户名

git config –global user.email “yangliuancn@foxmail.com” 配置用户邮箱

git config –global core.editor vim 配置默认编辑器

git config –global core.filemode false 所有版本库忽略文件权限跟踪

git config core.filemode false 当前版本库忽略文件权限跟踪

建立版本库

git init 新建项目

git clone 从线上拉取一个项目

git add . 监控工作区的状态树,把工作区的所有变化提交到暂存区包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件

git add -u  仅监控已经被add的文件(即tracked file)他会将被修改的文件提交到暂存区

git add -A 是上面两个功能的合并(git add –all的缩写)

提交代码

git commit -m “注释”

git push 推送

git push origin  [branch] 推送到远程指定仓库

git push -u origin master  推送到远程指定仓库并设置为默认推送分支

git pull 拉取

git pull origin [branch] 拉去远程代码

git pull = git fetch + git merge

git pull –rebase = git fetch + git rebase

git rebase用于把一个分支的修改合并到当前分支。

仓库管理

git remote add [shortname] [url]  添加仓库

git remote rename oldname newname 重命名仓库

git remote rm name  删除仓库

git remote set-url name url 更换远程仓库url

分支管理

git push origin –delete branchname 删除远程分支

git checkout branchname 切换分支

git branch -D branchname 删除本地分支

git checkout -b branchname 在当前分支基础上新建分支

拉取所有远程分支

git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下:

  1. 找一个干净目录,假设是git_work
  2. cd git_work
  3. git clone http://myrepo.xxx.com/project/.git ,这样在git_work目录下得到一个project子目录
  4. cd project
  5. git branch -a,列出所有分支名称如下:
    remotes/origin/dev
    remotes/origin/release
  6. git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
  7. git checkout -b release origin/release,作用参见上一步解释
  8. git checkout dev,切换回dev分支,并开始开发。
git tag -a 20190815 -m "注释" f8a5b56af1e962744d3dbecb19d971496715b260
指定commit 打标签 

git show xxx   查看指定名称tag

git push origin --tags  推送本地所有tag

git push origin [tagName]  推送单个tag

强制回退到制定版本

git log 查看日志,找到你要回退的版本查看commit 编号

git reset --hard commit编号 回退到指定版本

git push -f -u origin master 强制提交到master分支,注意保存版本代码,回退之后无法恢复,master分支可以替换成你要回退的远程分支

删除文件或目录

git rm -r --cached dirname #--cached不会把本地的dirname删除
git commit -m 'delete dir'
git push -u origin master

将被.gitignore文件所忽略的文件从版本库中删除

git rm -r --cached .
git add .
git commit
git push  -u origin master

发表评论