网站定制哪家比较好,时光慢网站建设方案论文,安徽股票配资网站建设,网络营销包括哪些内容参考视频#xff1a;16-git的日志以及版本管理_哔哩哔哩_bilibili
参考博客#xff1a;Git Docker 学习笔记-CSDN博客
目录
简介
个人操作初始化
初始化git目录
查看生成的git目录文件
配置git工作目录的用户信息
查看工作区的状态#xff0c;生成文件的…参考视频16-git的日志以及版本管理_哔哩哔哩_bilibili
参考博客Git Docker 学习笔记-CSDN博客
目录
简介
个人操作初始化
初始化git目录
查看生成的git目录文件
配置git工作目录的用户信息
查看工作区的状态生成文件的状态
添加文件到暂存区、仓库区
仓库区的版本回退和恢复
暂存区回退到工作区
工作区及暂存区修改的撤销
远程仓库克隆到本地初始化
远程仓库的文件创建与上传及信息查询
Git 多人操作
多人协助冲突的发生及解决
标签
分支操作 简介
当前最先进的分布式版本控制系统作用于源代码管理方便多人协同开发便于版本控制 个人操作初始化
初始化git目录 git init rootpass:/home/pass/Desktop/mytest# git init 初始化目录生成 .git目录 hint: Using master as the name for the initial branch. This default branch name hint: is subject to change. To configure the initial branch name to use in all hint: of your new repositories, which will suppress this warning, call: hint: hint: git config --global init.defaultBranch name hint: hint: Names commonly chosen instead of master are main, trunk and hint: development. The just-created branch can be renamed via this command: hint: hint: git branch -m name Initialized empty Git repository in /home/pass/Desktop/mytest/.git/ 查看生成的git目录文件 ll 查看隐藏目录命令 rootpass:/home/pass/Desktop/mytest# ll 查看隐藏目录命令ll total 12 drwxr-xr-x 3 root root 4096 3月 1 20:00 ./ drwxr-xr-x 4 pass pass 4096 3月 1 20:00 ../ drwxr-xr-x 7 root root 4096 3月 1 20:00 .git/ 以点开头的目录系统不可见 rootpass:/home/pass/Desktop/mytest# cd .git/ rootpass:/home/pass/Desktop/mytest/.git# ls branches config description HEAD hooks info objects refs 配置git工作目录的用户信息 git config user.name pass 用户姓名 git config user.email passqq.com 用户邮件 rootpass:/home/pass/Desktop/mytest/.git# git config user.name pass 用户姓名 rootpass:/home/pass/Desktop/mytest/.git# git config user.email passqq.com 用户邮件 rootpass:/home/pass/Desktop/mytest/.git# cat config 查看用户信息 [core] repositoryformatversion 0 filemode true bare false logallrefupdates true [user] name pass email passqq.com 查看工作区的状态生成文件的状态 git status 查看当前状态 rootpass:/home/pass/Desktop/mytest# git status 查看当前状态 On branch master No commits yet nothing to commit (create/copy files and use git add to track) rootpass:/home/pass/Desktop/mytest# touch file 工作区创建文件 rootpass:/home/pass/Desktop/mytest# git status On branch master No commits yet Untracked files: (use git add file... to include in what will be committed) file nothing added to commit but untracked files present (use git add to track) 添加文件到暂存区、仓库区 git add file 添加文件file到暂存区 .当前全部文件 git commit -m first commit 提交到仓库[参数-m 备注信息] git log 查看提交日志 rootpass:/home/pass/Desktop/mytest# git add file 添加文件file 到暂存区.当前全部文件 rootpass:/home/pass/Desktop/mytest# git status 查看当前状态 On branch master No commits yet Changes to be committed: (use git rm --cached file... to unstage) new file: file Untracked files: (use git add file... to include in what will be committed) me rootpass:/home/pass/Desktop/mytest# git commit -m first commit 提交到仓库[-m 备注] [master (root-commit) 474ca08] first commit 1 file changed, 0 insertions(), 0 deletions(-) create mode 100644 file rootpass:/home/pass/Desktop/mytest# git status On branch master Untracked files: (use git add file... to include in what will be committed) me nothing added to commit but untracked files present (use git add to track) rootpass:/home/pass/Desktop/mytest# git log 查看日志 commit 474ca0871818584972749d6b84d2d814825d8b2f (HEAD - master) Author: pass passqq.com Date: Fri Mar 1 20:08:06 2024 0800 first commit 仓库区的版本回退和恢复
回退版本 HEAD 当前最新版本HEAD^ 当前最新版本的前一个版本HEAD^^ 当前最新版本的前两个版本依次类推HEAD~1 当前最新版本的前一个版本HEAD~10 当前版本的前10个版本依次类推 eg: git reset --hard HEAD~ 回退到上一个版本 git reset --hard 版本号 回退到指定的版本 git reflog 查看所有的版本记录 rootpass:/home/pass/Desktop/mytest# git reflog 查看所有的版本记录 c9097f1 (HEAD - master) HEAD{0}: commit: second commit 474ca08 HEAD{1}: commit (initial): first commit rootpass:/home/pass/Desktop/mytest# git reset --hard HEAD^ 回退到上一版本 HEAD is now at 474ca08 first commit rootpass:/home/pass/Desktop/mytest# git log 查看提交的日志 commit 474ca0871818584972749d6b84d2d814825d8b2f (HEAD - master) Author: pass passqq.com Date: Fri Mar 1 20:08:06 2024 0800 first commit rootpass:/home/pass/Desktop/mytest# git reflog 474ca08 (HEAD - master) HEAD{0}: reset: moving to HEAD^ c9097f1 HEAD{1}: commit: second commit 474ca08 (HEAD - master) HEAD{2}: commit (initial): first commit rootpass:/home/pass/Desktop/mytest# git reset --hard c9097f1 回退到第二个版本 HEAD is now at c9097f1 second commit 暂存区回退到工作区 git reset HEAD [file] rootpass:/home/pass/Desktop/mytest# git status On branch master Changes to be committed: (use git restore --staged file... to unstage) new file: learn.txt new file: me rootpass:/home/pass/Desktop/mytest# git reset HEAD learn.txt rootpass:/home/pass/Desktop/mytest# git status On branch master Changes to be committed: (use git restore --staged file... to unstage) new file: me Untracked files: (use git add file... to include in what will be committed) learn.txt 工作区及暂存区修改的撤销 git checkout learn.txt 撤销工作区及暂存区的修改 rootpass:/home/pass/Desktop/mytest# git status 暂存区的文件learn.txt On branch master Changes to be committed: (use git restore --staged file... to unstage) new file: learn.txt new file: me rootpass:/home/pass/Desktop/mytest# echo 888 learn.txt 修改工作区的文件 rootpass:/home/pass/Desktop/mytest# cat learn.txt 666 999 888 rootpass:/home/pass/Desktop/mytest# git checkout learn.txt 撤销工作区及暂存区的修改 Updated 1 path from the index rootpass:/home/pass/Desktop/mytest# cat learn.txt 666 999 远程仓库克隆到本地初始化 git clone gitgithub.com:past-plus/learn_test.git rootpass:/home/pass/remote_learn# git clone gitgithub.com:past-plus/learn_test.git Cloning into learn_test... 克隆远程仓库到本地 warning: You appear to have cloned an empty repository. rootpass:/home/pass/remote_learn# cd learn_test/ rootpass:/home/pass/remote_learn/learn_test# ll total 12 drwxr-xr-x 3 root root 4096 3月 1 21:24 ./ drwxr-xr-x 3 root root 4096 3月 1 21:24 ../ drwxr-xr-x 7 root root 4096 3月 1 21:24 .git/ rootpass:/home/pass/remote_learn/learn_test# cd .git/ rootpass:/home/pass/remote_learn/learn_test/.git# ls 远程仓库的git配置 branches config description HEAD hooks info objects refs rootpass:/home/pass/remote_learn/learn_test/.git# cat config 远程仓库的配置信息 [core] repositoryformatversion 0 filemode true bare false logallrefupdates true [remote origin] url gitgithub.com:past-plus/learn_test.git fetch refs/heads/*:refs/remotes/origin/* [branch main] remote origin merge refs/heads/main rootpass:/home/pass/remote_learn/learn_test# git config user.name pass 配置用户信息 rootpass:/home/pass/remote_learn/learn_test# git config user.eamil passqq.com 远程仓库的文件创建与上传及信息查询 git add . 提交到暂存区 git status 查看当前状态 git commit -m test and learn 提交到仓库 git push 上传到远程仓库 rootpass:/home/pass/remote_learn/learn_test# touch test.py learn.py 创建文件 rootpass:/home/pass/remote_learn/learn_test# git add . 提交到暂存区 rootpass:/home/pass/remote_learn/learn_test# git status 查看当前状态 On branch main No commits yet Changes to be committed: (use git rm --cached file... to unstage) new file: learn.py new file: test.py rootpass:/home/pass/remote_learn/learn_test# git commit -m test and learn 提交到仓库 [main (root-commit) b7588d1] test and learn 2 files changed, 0 insertions(), 0 deletions(-) create mode 100644 learn.py create mode 100644 test.py rootpass:/home/pass/remote_learn/learn_test# git push 上传到远程仓库 Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Delta compression using up to 4 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 232 bytes | 232.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 To github.com:past-plus/learn_test.git * [new branch] main - main rootpass:/home/pass/remote_learn/learn_test# vim test.py 更新文件信息需要再次上传 rootpass:/home/pass/remote_learn/learn_test# git commit -m test modified On branch main Your branch is up to date with origin/main. Changes not staged for commit: (use git add file... to update what will be committed) (use git restore file... to discard changes in working directory) modified: test.py no changes added to commit (use git add and/or git commit -a) rootpass:/home/pass/remote_learn/learn_test# git add . rootpass:/home/pass/remote_learn/learn_test# git commit -m test modified [main 9d0f8f9] test modified 1 file changed, 2 insertions() rootpass:/home/pass/remote_learn/learn_test# git status On branch main Your branch is ahead of origin/main by 1 commit. (use git push to publish your local commits) nothing to commit, working tree clean rootpass:/home/pass/remote_learn/learn_test# git log 查看提交日志 commit 9d0f8f9b493856ec917edd67807ad0676e12da9a (HEAD - main) Author: pass 10752095past_passuser.noreply.gitee.com Date: Fri Mar 1 21:35:20 2024 0800 test modified commit b7588d1d98bf2a1287904610bff4d92397393440 (origin/main) Author: pass 10752095past_passuser.noreply.gitee.com Date: Fri Mar 1 21:30:52 2024 0800 test and learn rootpass:/home/pass/remote_learn/learn_test# git reflog 查看历史版本 9d0f8f9 (HEAD - main) HEAD{0}: commit: test modified b7588d1 (origin/main) HEAD{1}: commit (initial): test and learn rootpass:/home/pass/remote_learn/learn_test# git push 提交到远程仓库 Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 4 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 303 bytes | 303.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 To github.com:past-plus/learn_test.git b7588d1..9d0f8f9 main - main 运行结果 Git 多人操作 git commit -am xxxx 参数a 表示add添加到暂存区 git pull 拉取远程仓库到工作区 员工a的操作 rootpass:/home/pass/gitee_test/test_a# git config user.name a 配置用户信息 rootpass:/home/pass/gitee_test/test_a# git config user.name aqq.com rootpass:/home/pass/gitee_test/test_a# touch test.py rootpass:/home/pass/gitee_test/test_a# git add . rootpass:/home/pass/gitee_test/test_a# git status rootpass:/home/pass/gitee_test/test_a# git commit -m test commit first 提交到仓库 [master (root-commit) 7bc421c] test commit first 1 file changed, 0 insertions(), 0 deletions(-) create mode 100644 test.py rootpass:/home/pass/gitee_test/test_a# git push 上传到远程仓库 Username for https://gitee.com: past_pass Password for https://past_passgitee.com: Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Writing objects: 100% (3/3), 226 bytes | 226.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 remote: Powered by GITEE.COM [GNK-6.4] To https://gitee.com/past_pass/test.git * [new branch] master - master 员工b rootpass:/home/pass/gitee_test/test_b# git config user.name b rootpass:/home/pass/gitee_test/test_b# git config user.email bqq.com rootpass:/home/pass/gitee_test/test_b# git pull remote: Enumerating objects: 3, done. remote: Counting objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), 206 bytes | 206.00 KiB/s, done. From https://gitee.com/past_pass/test * [new branch] master - origin/master rootpass:/home/pass/gitee_test/test_b# ls test.py 多人协助冲突的发生及解决 造成的原因 多人修改同一份代码需要先拉取最新的代码修改否则会造成冲突 员工a rootpass:/home/pass/gitee_test/test_a# echo echo git learnlearn.py rootpass:/home/pass/gitee_test/test_a# cat learn.py echo learn echo git learn rootpass:/home/pass/gitee_test/test_a# git commit -am update learn [master cda86ba] update learn 1 file changed, 1 insertion() rootpass:/home/pass/gitee_test/test_a# git push 员工b[没有pull拉取远程仓库的代码而是直接在本地进行修改上传造成冲突] rootpass:/home/pass/gitee_test/test_b# cat learn.py echo learn echo xxx rootpass:/home/pass/gitee_test/test_b# git commit -am update file rootpass:/home/pass/gitee_test/test_b# git push ➜ git:(test) git pull origin test * branch test - FETCH_HEAD hint: You have divergent branches and need to specify how to reconcile them. hint: You can do so by running one of the following commands sometime before hint: your next pull: hint: hint: git config pull.rebase false # merge (the default strategy) hint: git config pull.rebase true # rebase hint: git config pull.ff only # fast-forward only hint: hint: You can replace git config with git config --global to set a default hint: preference for all repositories. You can also pass --rebase, --no-rebase, hint: or --ff-only on the command line to override the configured default per hint: invocation. fatal: Need to specify how to reconcile divergent branches. 标签
当一个大版本完成之后需要打一个标签记录大版本备份代码 git tag -a v1.0(标签名) -m version1.0描述 本地打标签 git push origin v1.0(标签名) 推送标签到远程仓库 rootpass:/home/pass/gitee_test/test# git commit -am commit learn file [master 62eda34] commit learn file 1 file changed, 1 insertion(), 1 deletion(-) rootpass:/home/pass/gitee_test/test# git tag -a v1.0 -m version1.0 rootpass:/home/pass/gitee_test/test# git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Writing objects: 100% (3/3), 278 bytes | 139.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 remote: Powered by GITEE.COM [GNK-6.4] To https://gitee.com/past_pass/test.git e1c4aef..62eda34 master - master rootpass:/home/pass/gitee_test/test# git push origin v1.0 运行结果
分支操作 git branch 查看当前分支 git checkout -b test 创建并切换分支test git checkout master 切换主分支master git merge test 融合分支test到主支master rootpass:/home/pass/gitee_test/test# git branch * master rootpass:/home/pass/gitee_test/test# git checkout -b test Switched to a new branch test rootpass:/home/pass/gitee_test/test# git branch master * test rootpass:/home/pass/gitee_test/test# git checkout master Switched to branch master Your branch is up to date with origin/master. rootpass:/home/pass/gitee_test/test# git branch * master test rootpass:/home/pass/gitee_test/test# git merge test Already up to date.