Git的基本使用
1、git的四个工作区域
2、git四种状态
3、git基础命令
3.1、查看工作区状态
[root@git git_data]# git status # 位于分支 master # 初始提交 无文件要提交(创建/拷贝文件并使用 "git add" 建立跟踪) [root@git git_data]# touch a b c [root@gitlab git_test]# git status # On branch master # # Initial commit # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # a # b # c nothing added to commit but untracked files present (use "git add" to track)
3.2、git add
将改动过的目录或文件 提交到暂存区
[root@git git_data]# git add a [root@gitlab git_test]# git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: a # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # b # c
3.3、使用git add .
添加目录中所有改动过的文件
[root@gitlab git_test]# git add . [root@gitlab git_test]# git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: a # new file: b # new file: c #
3.4、将暂存区中的文件撤回到工作区
[root@gitlab git_test]# git rm --cached c rm 'c' [root@gitlab git_test]# git status # On branch master # # Initial commit # # Changes to be committed: # (use "git rm --cached <file>..." to unstage) # # new file: a # new file: b # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # c
3.5、删除文件
1.先从暂存区撤回到工作区、然后直接删除文件 git rm ‐‐cached c rm ‐f c 2.直接从暂存区域同工作区域一同删除文件命令 git rm ‐f b
3.6、提交到本地仓库
[root@gitlab git_test]# git commit -m "commit a b c" [master (root-commit) 9152daa] commit a b c 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 a create mode 100644 b create mode 100644 c
4、git分支
4.1、查看当前分支
[root@gitlab git_data]# git log --oneline --decorate 75cb253 (HEAD, master) modifled a.txt a # 默认分支指向你最后一次的提交 HEAD头、指针 a23372f rename a a.txt 68a450e new file b c 6ea0eb3 new file a ### HEAD 指针指向哪个分支、说明你当前在哪个分支下工作 [root@gitlab git_data]# git branch * master *
4.2、创建分支
## git branch 分支名称 ---创建分支 ## git checkout -b 分支名称 ---创建并进入分支 [root@gitlab git_data]# git branch testing ## 新建testing分支 [root@gitlab git_data]# git log --oneline --decorate 75cb253 (HEAD, testing, master) modifled a.txt a a23372f rename a a.txt 68a450e new file b c 6ea0eb3 new file a
4.3、切换分支
[root@gitlab git_data]# git checkout testing Switched to branch 'testing' [root@gitlab git_data]# git branch master * testing
4.4、删除分支
[root@gitlab git_data]# git branch -d testing Deleted branch testing (was 636dcdc).
4.5、合并分支
[root@gitlab git_data]# git merge testing Merge made by the 'recursive' strategy. testing | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 testing [root@gitlab git_data]# git log --oneline --decorate 05ed989 (HEAD, master) Merge branch 'testing' 636dcdc add new file master on master d9dbeec (testing) add testing on testing fenzhi a57f5c2 add new file bbb
4.6、标签 标签也是指向了一次commit提交,是一个里程碑式的标签,回滚打标签直接加标签号,不需要加唯一字符串不好记
[root@git git_data]# git tag ‐a v1.0 ‐m "aaa bbb master tesing version v1.0" # ‐a指定标签名字 ‐m 指定说明文字 [root@git git_data]# git tag v1.0 [root@git git_data]# git tag ‐a v2.0 dbead4c ‐m "add bbb version v2.0" # 指定某一次的提交为标签 # dbead4c 唯一值 通过git reflog查看 [root@git git_data]# git show v1.0 # 查看v1.0的信息 git show 加标签查看 [root@git git_data]# git reset ‐‐hard v2.0 # 直接还原数据到v2.0 HEAD 现在位于 dbead4c add bbb [root@git git_data]# ll 总用量 4 ‐rw‐r‐‐r‐‐ 1 root root 8 8月 23 11:26 a ‐rw‐r‐‐r‐‐ 1 root root 0 8月 23 11:25 b [root@git git_data]# git tag ‐d v2.0 # 删除标签 ‐d参数