git企业的使用详细命令行操作_git企业级用法
git是Linux创始人通过内核开发而创作的分布式版本的控制系统,而我们作为开发者需要开发与维护,避免不了版本的迭代和更新,git就是用来保存修改删除等操作的工具,可以记录代码改动情况,它能够保存代码的每个版本,每个版本文件中修改和删除git都会跟踪,通过追踪的方式使得开发者能够更有效率的获取到之前的版本,让开发的效率提高。
这里的HEAD指针指向master
通过 cat .git/HEAD查看
文章目录
- 查看git是否安装以及配置
-
- 配置别名
- 创建文件和修改文件内容
-
-
- 将本地仓库的文件放到暂存区
- 取消暂存
- 查看修改后的文件
- 提交到版本库(commit)
- 查看提交记录日志
-
- 版本回退(git reset)
- 撤销修改
-
-
- 工作区的解决方式
- 工作区暂存区存在
- 在没有push情况下commit之后
-
- 删除版本库文件
-
-
- 方法1
- 方法2
-
- 分支管理
-
-
- 切换分支
- 合并分支
- 删除分支
- bug分支
- 强制删除分支
-
- 远程仓库
-
-
- 克隆远程仓库
- 将本地仓库传入到远程仓库中(push)
- 拉取本地仓库的内容(pull)
- 编辑不想git追踪的文件
-
- 标签功能
- 安装tree的命令
查看git是否安装以及配置
- git版本
# 查看git版本git --version# 查看git的安装路径which git
- 关于创建git仓库
#我是创建到了桌面cd Desktop;#创建目录进入mkdir gitCode;cd gitCode;#初始化git仓库为空仓库git init;
- git中配置用户名和邮箱
#添加用户名和邮箱操作git config user.name \"用户名\";git config user.email \"邮箱\";#取消用户名及邮箱git config --unset user.name;git config ==unset user.email;#添加全球用户名和邮箱操作(global)git config --global user.name \"用户名\";git config --global user.email \"邮箱\";#取消全局用户名及邮箱git config --global --unset user.name;git config --global --unset user.email;#查看配置情况git config -l;#查看当前目录的绝对路径pwd;
配置别名
#可以将status状态改为别名stgit config --global alias.st status

创建文件和修改文件内容
#创建文件touch statement;#使用vim来编辑文件vim statement;#当进入vim进行编辑,当编辑好后通过esc来进入命令模式,通过:wq回车退出保存.#查看文件内容cat statement;
将本地仓库的文件放到暂存区
#将该工作区的所有文件添加到暂存区git add .#指定文件可以多个包git add docu1 docu2;
取消暂存
# 这里是查看当前仓库的状态查看是否对文件有修改#绿色为暂存区文件,红色为没有放入暂存区git status;# 取消暂存git rm --cached docu1 docu2;
查看修改后的文件
# 这里是查看当前仓库的状态查看是否对文件有修改git status;# 查看工作区和暂存区的差异(当add后再次进行修改)绿色为改动部分内容git diff docu1;# 查看版本库和工作区文件的区别git diff HEAD -- docu1;
提交到版本库(commit)
git commit -m \"文件的描述信息\"
查看提交记录日志
git log --pretty;#两种都可以git log --pretty=oneline;
版本回退(git reset)
通过版本回退,返回到之前其他的版本
例如公司老板不喜欢这一版本,认为上一版本更好,这时候需要回退,拿到其他版本。
--soft--mixed(默认选项)--hard慎用!可能会把版本消除HEAD
这里如果我们清屏或者是关闭terminal后,找不到log中的记录的提交id,当我们需要恢复的时候,我们可以通过relog来查看,并重写回退(这里如果及时发现可能不会将id冲掉,如果冲掉则无法回滚了)。
撤销修改
工作区的解决方式
git checkout -- doucu

工作区暂存区存在
git reset HEAD^ docu

在没有push情况下commit之后
git reset --hard HEAD^

删除版本库文件
方法1
# 删除工作区的内容rm docu# 将工作区变动放到暂存区git add douc #\"要删除的文件名\"# 最后提交变动git commit -m \"珊瑚的文件\"
方法2
#使用git rm可以将本地仓库和暂存区的指定文件一起删除 git rm docu#可以查看一下通过git status#删除文件提交git commit -m \"删除文件\"
分支管理
HEAD通过指针指向主分支(默认分支master/main.c),目前在工作的分支。
这里我们可以通过tree .git/来查看树下的分支情况
- 查看本地分支命令
git brach# 创建本地分支后面加分支名字#新分支指向的最近提交的一次内容git branch branch_name
切换分支
# 切换分支git check docu

# 这个是新建一个分支并进行切换git checkout -b docu

这里切换后分支默认是最新提交的一次数据,如果修改后,则新分支指向最新修改的一次,父亲节点则是上一次的数据。
合并分支
将分支合并到主分支中
#通过一下命令将分支合并git merge branch_name

- 查看合并分支可视图情况
git log --graph --abbrev-commit
删除分支
这里的前提不允许在该删除的分支下进行删除此分支操作。
git branch -d branch_name#删除远程仓库的分支git push origin --delete branch_name
bug分支
当我们在分支进行开发时,主分支出现bug,这时候我们需要将分支stash到当前分支的树下,然后切换到主分支创建一个修复bug的分支,进而合并
#将当前正在开发的代码藏到该分支下git stash#当我们的bug修复好后重写切换到开发的分支下通过以下恢复之前开发的代码git stash listgit stash pop

当我们开发完成之后,提交到版本库中时,因为我们已经将主分支master和修复bug分支进行了合并,这时候我们的开发分支与其合并会产生冲突,因为开发分支并没有修复bug分支的代码。
这时候我们可以先从本地分支对master的分支先进行合并,在本地仓库进行修改并提交
git merge --no-ff -m \"merge information\" master
这时候切换到master分支在对本地分支进行合并
强制删除分支
如果删除不打算合并的分支
git branch -D master
远程仓库
克隆远程仓库
通过远程仓库克隆命令克隆到本地仓库中
git clone https://gitee.com/christianward/remote-git-code.git
origin作为我们的远程仓库的默认名字,可以进行查看通过
# 查看远程仓库名git remote # 查看远程仓库的权限git remote -v

将本地仓库传入到远程仓库中(push)

拉取本地仓库的内容(pull)
当我们在开发中,有其他成员上传了新的数据,这时候我们需要从远程仓库中获取到数据,可以使用以下命令。
git pull origin master:master#如果本地分支和远程分支相同则直接通过git pull origin master

编辑不想git追踪的文件
vim. .gitignore*.so#这里如果创建.so文件并add时会忽略git add manager.so#强制添加忽略文件 -f,即可强制放入暂存区git add -f manager.so#也可以将.gitignore中添加不排除文件!manager.so
这里如果想要查询的文件为什么被忽略可以通过以下命令
git check-ignore- v e.so
标签功能
标签通过每次提交,对提交后的最近版本进行较重要的标识标记。
标记
# 进行标记 tag后面内容为标记的名称git tag J1.0
查询命令
git tag
删除命令
git tag -d tag_name
对标记进行描述
git tag -a tag_name -m \"Discribe\"
查看标签的描述信息以及对应信息
git show tag_name

推送指定标签至远程仓库
git push origin tag_name


推送所有标签至远程仓库
git tag origin --tag


本地中删除标签并推送远程仓库
git tag -d tag_namegit push origin :tag_name

安装tree的命令
brew install tree








