Git 命令用法

一、Git安装部署

#安装git
yum -y install git 

#查看git的版本
git --version

 

二、Git配置

#git的配置文件为 
~/.gitconfig

#查看帮助
git config --help

#常用配置
git config --global user.name "whb"     #配置git用户
git config --global user.email "whb@qq.com"    #配置git邮箱
git config --global color.ui true    #语法高亮,输出显示颜色
#alias 别名
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch

git config --global core.editor "mate -w" #设置编辑器使用textmate
git config -l   #列举所有配置
git config --list     #列出所有配置 

三、Git仓库

1.克隆一个项目

git clone path-to-git-repository

2.更新本地仓库到最新改动(例如 master分支)

git pull origin master

3.将现有项目推送到远程

cd test     #跳到要提交的目录下
git init    #初始化git
git add .   #将所有文件加入到索引
git commit -m "标注"    #提交到HEAD
git remote add origin <server>   #增加到remote。如果是直接克隆的无需这步
git push origin master    #推送过去! DONE

4、丢弃本地所有改动与提交,获取服务器上最新版本并将主干分支指向它

git fetch origin
git reset --hard origin/master

四、GIT基本操作(新建、删除、提交、推送、取消、比对、查看、重命名)

1.添加 (本地文件 -> 暂存区)

git add file_name         #添加指定文件
git add .            #添加新更新和修改的,没有删除
git add -A           #更新所有文件

2、删除(本地文件 - > 暂存区)

git rm file_name#从版本控制中删除,并删除磁盘上的文件
git rm --cached file_name#不删除磁盘上的

3、取消添加/ rm(暂存区 - > 本地文件 )

git reset HEAD <file>

4、提交(暂存区- > HEAD)

git commit file_name -m'提交信息'

5、推送改动(HEAD - > 远程git仓库)

git push origin master

6、diff

git diff  #diff CurrentDir Stage,查看有哪些需要添加
git diff --cached / - staged #哪些需要提交

7、Log 日志查看

git log       #查看日志
git reflog    #查看所有历史日志

8、替换掉本地改动(暂存区- > 本地目录)

git checkout - <filename>

9.mv 重命名

git mv old_name new_name   #重命名

 

总结:添加 - >提交 - >推送 - >完成

五、GIT分支操作

1、创建分支

git branch new_br_name   #创建
git branch     #查看当前有的分支

git checkout new_br_name    #切换到新分支

git checkout -b new_br_name    #创建并切过去

2、远程分支

git push origin new_br_name    #推送分支到远端维护起来

#删除
git push origin:<new_br_name>
或
git push origin --delete <new_br_name>

3、合并分支

git branch#查看当前分支
git checkout master#切换回主干
git merge new_br_name#合并new_br_name分支到主干,自动合并

1.没冲突(没有冲突) - >精 - >提交 - >推送到远程

2.有冲突(冲突) )
git diff#查看当前哪些文件有冲突,标识unmerged
vim xxx#手动编辑解决冲突

冲突文件中标识
<<<<<<< HEAD:file.txt
Hello world#当前branch的
=======
再见#要合并branch的
>>>>>>> 77976da35a11db4580b80ae27e8d65caf5208086:file.txt

git add xxx#加入

- >解决所有冲突之后 - >提交 - >推送到远程

4、撤销一个合并

git reset --hard HEAD #也可以恢复到指定分支状态

5、删除分支

git branch -d new_br_name#只能删除已经被当前分支合并的分支
git branch -D new_br_name#strong delete

 

六、GIT标签操作

1.创建删除

创建
git tag tag_name <commit ID> #commit ID可以通过git log来查看

删除
git tag -d tag_name

2.远程标签

推送所有标签
git push --tags

删除
git push origin --delete tag <tag_name>

 

七、Git创建问题总结

1、忽律指定文件

.gitignore           #吧需要忽律的文件写入到这里
git update-index --assume-unchanged PATH_TO_FILE_HERE               #忽略已追踪文件的变动

不要误解了 .gitignore 文件的用途,该文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。
如果文件曾经被 Git 记录过,那么.gitignore 就对它们完全无效。

2、怎么配置的git结果显示颜色

[color]
#开启着色功能
状态 = auto
diff = auto
branch = auto
interactive = auto

3.克隆 指定的远程分支
如果你渴望只克隆远程仓库的一个指定分支,而不是整个仓库分支,这对你帮助很大。

git init
git remote add -t BRANCH_NAME_HERE -f origin REMOTE_REPO_URL_PATH_HERE
git checkout BRANCH_NAME_HERE

 

 

 

点赞

发表回复