目录
Git
1、常用命令
git branch 查看本地所有分支 git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支 git branch -r 查看本地所有分支 git commit -am "init" 提交并且加注释 git remote add origin git@192.168.1.119:ndshow git push origin master 将文件给推到服务器上 git remote show origin 显示远程库origin里的资源 git push origin master:develop git push origin master:hb-dev 将本地库与服务器上的库进行关联 git checkout --track origin/dev 切换到远程dev分支 git branch -D master develop 删除本地库develop git checkout -b dev 建立一个新的本地分支dev git merge origin/dev 将分支dev与当前分支进行合并 git checkout dev 切换到本地dev分支 git remote show 查看远程库 git add . git rm 文件名(包括路径) 从git中删除指定文件 git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来 git config --list 看所有用户 git ls-files 看已经被提交的 git rm [file name] 删除一个文件 git commit -a 提交当前repos的所有的改变 git add [file name] 添加一个文件到git index git commit -v 当你用-v参数的时候可以看commit的差异 git commit -m "This is the message describing the commit" 添加commit信息 git commit -a -a是代表add,把所有的change加到git index里然后再commit git commit -a -v 一般提交命令 git log 看你commit的日志 git diff 查看尚未暂存的更新 git rm a.a 移除文件(从暂存区和工作区中删除) git rm --cached a.a 移除文件(只从暂存区中删除) git commit -m "remove" 移除文件(从Git中删除) git rm -f a.a 强行移除修改后文件(从暂存区和工作区中删除) git diff --cached 或 $ git diff --staged 查看尚未提交的更新 git stash push 将文件给push到一个临时空间中 git stash pop 将文件从临时空间pop下来 --------------------------------------------------------- git remote add origin git@github.com:username/Hello-World.git git push origin master 将本地项目给提交到服务器中 ----------------------------------------------------------- git pull 本地与服务器端同步 ----------------------------------------------------------------- git push (远程仓库名) (分支名) 将本地分支推送到服务器上去。 git push origin serverfix:awesomebranch ------------------------------------------------------------------ git fetch 相当于是从远程获取最新版本到本地,不会自动merge git commit -a -m "log_message" (-a是提交所有改动,-m是加入log信息) 本地修改同步至服务器端 : git branch branch_0.1 master 从主分支master创建branch_0.1分支 git branch -m branch_0.1 branch_1.0 将branch_0.1重命名为branch_1.0 git checkout branch_1.0/master 切换到branch_1.0/master分支 du -hs ----------------------------------------------------------- mkdir WebApp cd WebApp git init touch README git add README git commit -m 'first commit' git remote add origin git@github.com:daixu/WebApp.git git push -u origin master |
2、创建分支
1.clone master 的代码到本地,并在master本地代码文件夹中打开 git bash
在 master 分支下,保证当前代码与线上同步 2.创建分支
3.切换到新建的分支
4.把本地分支推到远端,让远端也有一个你的分支,用来后面提交代码
|
3、提交代码
1. git status // 查看自己写了哪些内容 2. git add . 3. git commit -m 'XXXXXX' 4. git push origin <分支名> 5. 报错 → 远端代码比本地代码新时 git pull --rebase origin 远程分支名 6. git push origin <分支名> 当远程仓库代码与本地代码有冲突时,更新代码步骤: 1. git stash 2. git pull 3. git stash pop stash@{0} 4. 系统提示如下类似的信息: Auto-merging c/environ.c CONFLICT (content): Merge conflict in c/environ.c 意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。 5. 解决文件中冲突的的部分 打开冲突的文件,会看到类似如下的内容: git冲突内容 其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。 解决完成之后,就可以正常的提交了。 |
4、rebase 代码
这一步是保证你要上线的代码是基于最新的 master 1. git pull -rebase origin <分支名> 2. git pull -rebase origin master 执行这两步都可能发生冲突,需解决冲突,再提交 解决完冲突后: 1. git add . 2. git rebase -continue 3. git push origin <分支名> 4. 若当前分支落后于 master 分支,则需要强推 git push -f origin <分支名> |
5、git 的其他命令
1. 删除分支:git branch -d <分支名> // 删除本地分支,先切换到 master 再删 git push origin --delete <分支名> // 远端 2. 从远端拉分支: git fetch origin <分支名>:<分支名> 3. 合并分支 → 如 test 分支需要合并到 dev 分支 → 先切换到 dev 分支 → 再执行: git merge test // 意思是将 test 合并到 dev 分支 4、git config --global credential.helper store 5、分支状态为 MERGING 时,执行:git reset --hard head → 该命令是回退版本信息,在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。 |
6、git 的操作命令
1、git stash 将本地代码stash到仓库中。 可以使用git stash save ***定义自己的标记,方便以后查询 2、git pull 将远程代码拉取到本地。 3、git stash pop 将仓库中的代码合到本地最新代码中。 4、在处理bug的过程中,可能存在多次stash的操作。这时可以使用git stash list查看本地仓库中都存储了几个stash版本。 5、git stash pop默认将最近一次stash操作合并到本地代码中,也可以通过git stash pop stash@{Number}指定将某次stash的内容合并到本地代码中。 6、git stash pop命令在合并代码的同时,会把仓库中对应的内容弹出。如果只想查看,而不想弹出内容,可以使用git stash apply命令进行操作。 7、git stash -h 查看git stash帮助 8、git stash show 显示stash合并到本地代码后,哪些文件会修改,以及修改的概述 9、git stash show -p stash@{0} 显示修改的详细内容 |
7、git stash 命令
默认情况下: git stash 命令会把以下修改存储到一个新的堆栈中。堆栈中的内容(stash)可以被所有分支访问: - 暂存区中的修改 - 工作区中已经存在的文件的修改 git stash 命令不会存储下列文件: - 工作区中新增的文件(untracked files) - 被版本库忽略的文件(.gitignore 中定义的) 执行 git stash 命令后,工作区就恢复到了上一次 git commit 时的状态。具体表现为: 暂存区中的修改不可见。 工作区中已经存在文件的修改也不可见。 若使用了 -u 选项,工作区中新添加的文件对于工作区也不可见。 此时使用 git diff 和 git diff --cached 命令是看不到工作区和暂存区中的修改的,因为这些已经存储到了一个堆栈中。 可进行新建分支,切换到新的分支处理其他需求。
git stash 的常用命令: |