( 三 )、Git 常用命令

( 三 )、Git 常用命令

 

 


1、简介

Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。Git的使用流程:

java从git拉去的项目怎么运行 java执行git命令_git

说明:

  • workspace:工作区
  • staging area:暂存区/缓存区
  • local repository:版本库或本地仓库
  • remote repository:远程仓库

 

2、命令使用

1、创建版本库

Git 使用 git init 命令来初始化一个 Git 仓库 或者 我们使用 git clone 从现有 Git 仓库中拷贝项目。

git  init
或者
git  clone git://github.com/dw/test.git

 

2、忽略某些文件

 一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。我们可以创建一个名为 .gitignore 的文件,列出要忽略的文件模式。

java从git拉去的项目怎么运行 java执行git命令_git_02

.git
**/.idea/**
**/*.iml
**/target/**
**/*.log
zzzgitPull.bat

HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**

### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/

### VS Code ###
.vscode/
*.log

 

3、 把文件添加到版本库中

# 提交所有变化(-all 缩写)
git add -A  
# 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add -u 
# 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件 
git add .  
# 添加以 .txt 结尾的所有文件
git add *.txt  
# 添加directory 文件夹下 .sh 结尾的文件
git add directory/*.sh

 4、提交暂存区到本地仓库

git commit  -m “提交描述 message”

 5、查看仓库当前的状态,显示有变更的文件

git status

 6、比较文件的不同,即暂存区和工作区的差异。

git diff readme.txt

 

 7、版本回退

# 回退所有内容到上一个版本,HEAD: 当前版本, HEAD^ 上一个版本, HEAD^^ 上上个版本, 依次类推;可以使用 ~数字表示 HEAD~0 表示当前版本, HEAD~1 上一个版本,
    HEAD^2 上上一个版本, 依次类推。
git reset HEAD^            
# 回退 hello.java 文件的版本到上一个版本。  
git reset HEAD^ hello.java  
# 回退到指定版本 052e 回退的版本号,可以通过 git log 查看版本号。要重返未来,用 git reflog 查看命令历史,以便确定要回到未来的哪个版本。
git reset  052e    
# -hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交。
git reset --hard HEAD

 

 8、删除文件

1、将文件从暂存区和工作区中删除:
git rm <file>
2、如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
git rm -f runoob.txt 
3、如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可:
git rm --cached <file>

 

 9、远程仓库操作

1、列出远程库的简短名字
git remote

2、列出远程仓库名字 + 地址
git remote -v

3、添加远程版本库,shortname为取的远程仓库名字默认为origin, url: 远程仓库地址
git remote add  [shortname]  [url]

4、删除远程仓库
git remote rm name

5、修改仓库名
git remote  rename  old_name  new_name

6、从远程获取代码库, 不会合并远程仓库代码到本地分支, 需要手动合并,
需要执行 git merge 远程分支到你所在的分支
git fetch

7、从远程获取代码并合并本地的版本,git pull 其实就是 git fetch 和 git merge FETCH_HEAD 的简写。
git pull <远程主机名>  <远程分支名>:<本地分支名>
示例:
git pull
git pull origin
将远程主机 origin 的 master 分支拉取过来,与本地的 localDev分支合并:
git pull origin master:localDev
如果远程分支是与当前分支合并,则冒号后面的部分可以省略:
git pull origin master

8、将本地的分支版本上传到远程并合并
git push <远程主机名>  <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号:后的类容:
git push <远程主机名> <本地分支名>
如果本地版本与远程版本有差异,但又要强制推送可以使用 --force 参数:
git push --force origin master
删除主机的分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支:
git push origin --delete master

 

10、Git 分支管理

1、创建分支命令
git branch  branchName

2、切换分支命令
git  checkout branchName

3、合并分支命令
git merge 

4、创建新分支并立即切换到该分支下
git checkout -b newBranch

5、删除分支命令
git branch -d  branchname

 

 11、查看提交历史

1、查看说有提交日志
git log
你也可以用 --reverse 参数来逆向显示所有日志
git log  --reverse
2、如果要查看指定文件的修改记录可以使用 git blame 命令
git blame <file>

 

12、打标签

1、 添加标签 v1.0
git   tag  -a  v1.0  -m 'my version 1.0'
2、列出现有标签
git  tag
3、给已经提交的打标签, 先通过 get log 查看提交的版本号, 通过版本号打标记
git  tag  -a  v0.9  85fc7e7..版本号