文章目录
一:基本步骤
下载并配置git-> 开启ssh服务 -> 生成ssh密钥-> 将本机的public密钥输入到gitlab(或github)中个人账户信息中 -> terminal中进行git config --global 配置 -> git clone从remote-origin拷贝并同步 -> 当修改、添加文件后,git add -> git commit -> git push -> 完成!!
1.add操作(生成快照)
- git add [file] 添加新增文件到暂存区
- git add . 新文件、修改文件的操作
- git add -u 删去的文件、修改文件的操作
- git add -A 包括了上面的所有操作,而且还具有替换功能
2.git remote操作
- git remote remove name
- git remote add [name] [address]
3. $ echo 【dir/file】 > .gitignore 操作
这样,以后使用git add 命令生成文档内容快照时,git就会忽略调out目录。
4.git checkout -b branch / git checkout branch
第一个:创建并切换分支
第二个:切换分支
checkout语法很强大,不仅仅是切换创建分支这么简单,而且还有撤销commit、退回某版本号的操作等
5.git branch [branch]
创建分支
6.git submodule add -b branch address
添加子模块
7.git submodule update – init --recursive
子模块全部内容拉取过来
8.git commit -a
加了-a,在 commit 的时候,能帮你省一步 git add (其实是隐式添加到暂存区,并不是不添加),但也只是对修改和删除文件有效, 新文件还是要 git add,不然就是 untracked 状态
9.git rm操作
若有如下版本库:
- git rm
删除暂存区、版本库、工作区的文件( 同时从工作区和索引中删除文件。即本地的文件也被删除了。)
使用 git rm text1.txt 删除 text1.txt之后,索引和本地文件都被删除了,如下图所示:
- git rm --cached
删除暂存区和版本库的文件,但保留了工作区的文件(从索引中删除文件。但是本地文件还存在, 只是不希望这个文件被版本控制。)
使用git rm --cached text1.txt 把文件text1.txt从git的索引库中移除,但是对文件text1.txt本身并不进行任何操作,如下图所示。
- git rm 与 rm 的区别
git rm: 来删除文件,同时还会将这个删除操作记录下来;
rm: 来删除文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除;
提示:即使你已经通过 rm 将某个文件删除掉了,也可以再通过 git rm 命令重新将该文件从 git 的记录中删除掉。
注意:上述操作最后要执行git commit才真正提交到git仓库
10.git push
用于将本地分支的更新,推送到远程主机。
git push <远程主机名> <本地分支名>:<远程分支名>
如果当前分支只有一个追踪分支,后面都可以省略。
11.撤销操作
一:未提交commit但是work tree很乱,想回去。
$ git reset --hard HEAD
$ git checkout – hello.rb
$ git checkout .
二: 已经提交了,很后悔,想回去。
$ git revert HEAD
$ git revert HEAD^
$ git revert 4ab494a0bf5c5b09267a01ec03b587731d3034b4
略,详细见CSDN的git知识树