配置用户名邮箱:
cd 到项目目录
$ git config --global user.name “lypcliuli”
$ git config --global user.email johndoe@example.com
1、查看状态:git status
2、更新新内容:git pull
3、检出克隆某个仓库:git clone +url
4、提交:git add -A && git commit -m “****我的备注”
或者拆分出来写:
git add + 文件名
git add .
git commit -s -m "编辑podspec"
(add命令:把文件添加到暂存区, 把暂存区中的文件提交到历史区)
5****、将文件给推到服务器上**:****git push origin master **
6****、打上****tap
git tag "0.0.5" -m "0.0.5"
git push —tags #推送tag到远端仓库
7、查看日志,需要在某个repository下面执行:git log
8、创建一个名字为hello的裸仓库:git init + hello
直接把某个文件夹作为git仓库,在某个文件夹下执行该命令:git init
9、创建一个文件夹hello:mkdir hello
10、新建一个hello文件:touch hello
11、从工作空间和暂存区删除hello文件:git rm hello
12、从暂存区删除hello:git rm --cached hello
13、从历史区检出hello文件到工作区:git checkout hello ,是一个很危险的命令,因为这条命令会重写工作区
14、git mv a c
把工作区的a文件重命名为c文件(其实这个命令是一系列操作的综合);
其实该命令执行的操作包括:
(1)把a文件删除了;
(2)新建一个c文件;
(3)在暂存区中删除了a文件;
(4)并把c文件add到了暂存区;
注意并没有执行commit命令,此时只是保证了工作区和暂存区的同步
mv a c
仅仅是把a文件重命名为c,没有其他的任何操作。
15、解决冲突: 使用Git时,在pull、merge、rebase的过程中,经常会遇到conflict的情况。
遇到conflict时,以上处理过程会终端,并且命令行中显示(xxx|MERGING)的状态(Windows下Git Bash中显示的状态)。
命令行下解决冲突的方法为:
使用任意的文本编辑工具编辑有冲突的文件,去除冲突标记(就是>>>>>>>> ======= <<<<<<这样的东西),并把文本冲突解决掉。
然后使用git add 有冲突的文件,这时文件的冲突标记就变成了修改标记了。
将所有有冲突的文件解决完后,使用git commit -a -m "Xxx"提交就算完成整个合并过程了。
16、clone指定的版本:
git clone 默认是取回 master 分支,可以使用 -b 参数指定的分支。实际上, -b 参数不仅支持分支名,还支持 tag 名等。
git clone <remote-addr:repo.git> -b <branch-or-tag-or-commit>
实际上 clone 回来是包含了该 branch 完整历史的,所以仍然会有比较多的文件传输。
你可以使用 github 的打包下载功能,tag 可以通过 release 页面找到连接, 也可以直接替换 tag 为任意的branch 名来下载。
17、git clone xxx.git "指定目录"
18、创建分支提交分支:
从已有的分支创建新的分支(如从master分支),创建一个dev分支
git clone https://github.com/lypcliuli/LLGCDTimer.git
git checkout -b dev
创建完可以查看一下,分支已经切换到dev
git branch
* dev
master
建立本地到上游(远端)仓的链接 --这样代码才能提交上去
**git branch --set-upstream-to=origin/dev **
取消对master的跟踪
git branch --unset-upstream master
提交该新分支到远程仓库
git push origin dev
从远程删除一个分支: git clone -b dev https://github.com/lypcliuli/LLGCDTimer.git
git push origin --delete dev
检出一个分支:
git clone -b dev https://github.com/lypcliuli/LLGCDTimer.git
在自己分支下拉取master新内容到自己的分支
git pull origin master
提交分支:
git push --set-upstream origin dev
合并分支到主干,提交到主干: 如果在分支dev目录下 切换分支到主干
git checkout origin/master
git merge dev
查看有多少提交:
git status
输出:
On branch dev
Your branch is ahead of 'origin/dev' by 3 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
提交:
git push
18、git branch -a 显示所有分支, git branch也可以
19、查看指定tag代码:
// 不可编辑的 git clone https://github.com/lypcliuli/LLGCDTimer.git #先检出代码
git tag #查看历史tag
git checkout 0.1.1 #当前处于一个“detached HEAD" 状态,每一个 tag 就是代码仓库中的一个快照如果你想编辑此tag 下的代码,上面的方法就不适用了.你需要把 tag 快照对应的代码拉取到一个分支上
从远程删除一个tag:
git clone https://github.com/lypcliuli/LLGCDTimer.git
git tag
git push origin --delete tag 0.1.2
检出之前提交的指定版本
git clone https://github.com/lypcliuli/LLGCDTimer.git #先检出代码
查看之前的提交记录:git log
输出:
commit 5edc0820c907ed65e510ea393302e014784e8d4d
Author: 下里巴人_liuli lypcliuli@163.com
Date: Tue Mar 27 16:33:57 2018 +0800
git checkout 5edc0820c907ed65e510ea393302e014784e8d4d
17、查看文件里面的所有文件,包含隐藏文件
ls -al
删除一个文件夹中所有子文件里面的隐藏文件:
find . -type d -name ".svn"|xargs rm -rf
find . -type d -name ".git"|xargs rm -rf
参考文档Git 常用命令速查表:
网友评论