git init -- 初始化git仓库 git add . --添加当前目录的文件到本地git仓库
git add file1 file2 --添加多个文件
git status --查看本地库状态 git commit -m "my first commit" --提交更改到本地仓库 git remote add origin https://xxxxxxx/xxx.git --添加远程git仓库 git push -u origin master --提交代码到远程master分支
git log --查看提交日志
git show sha1码(前4位)
git branch --查看本地分支
git branch -a --查看分支详情(含远程)
git branch test_branch --创建分支
git checkout test_branch --改变激活分支
git checkout -b new_test_branch --创建一个分支并激活它
git checkout -b new_test_branch sha1 --创建一个分支指定到某一次提交
git branch -m renamed_branch --当前分支重命名
git branch -D new_test_branch --根据分支名删除分支(强制删除无提示)
git push origin --delete dev_optimize --删除远程分支
git branch -d new_test_branch --根据分支名删除分支(如果有未同步的数据会提示)
git checkout file1 --抛弃文件的更改git diff --staged
--查看已暂存的文件和上次提交的区别
git diff --未暂存的和已暂存的区别git commit
-a -m "ddd" --跳过使用暂存区域,直接提交。把处于跟踪状态的文件全部add。
git clone https://github.com/gaoconggit/test.git --depth=1 (git拉取最新代码)
//git创建并切换到分支
git checkout命令加上-b参数表示创建并切换
新建一个本地分支
git checkout -b dev
把本地分支提交到远程 git push -u origin JHR_EN
git push origin excelImport:excelImport
--关联本地分支和远程分支
git branch --track take_a_meal_number origin/take_a_meal_number
切换分支
git checkout
Git忽略规则和.gitignore规则不生效的解决办法
Git忽略规则:
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如果没有这个文件,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:
# 此为注释 – 将被 Git 忽略
*.sample # 忽略所有 .sample 结尾的文件
!lib.sample # 但 lib.sample 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
.gitignore规则不生效的解决办法
把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:
git rm -r --cached .
git add .
git commit -m "update .gitignore"
git冲突Please move or remove them before you can merge
转载 2016年03月19日 22:00:49
标签:
git
解决git冲突造成的Please move or remove them before you can merge
git clean -d -fx ""
其中
x -----删除忽略文件
d -----删除未被添加到git的路径中的文件
f -----强制运行
关于git stash命令的使用方法网上一大把,我想记录的是我在使用过程中觉得实用及好用的:
当在一个分支的开发工作未完成,却又要切换到另外一个分支进行开发的时候,除了commit原分支的代码改动的方法外,我觉得git stash是一个更加便捷的选择。
步骤如下:
一、添加改动到stash。在原分支 git stash save -a "messeag",网上很多很多资料都没有加 -a 这个option选项,我想他们的代码开发可能都是在原代码上进行修改吧。而对于在项目里加入了代码新文件的开发来说,-a选项才会将新加入的代码文件同时放入暂存区。
二、恢复改动。如果你要恢复的是最近的一次改动,git stash pop即可,我用这个用的最多。如果有多次stash操作,那就通过git stash list查看stash列表,从中选择你想要pop的stash,运行命令git stash pop stash@{id}或者 git stash apply stash@{id}即可。这方面网上的资料挺多的。
三、删除stash。git stash drop <stash@{id}> 如果不加stash编号,默认的就是删除最新的,也就是编号为0的那个,加编号就是删除指定编号的stash。git stash clear 是清除所有stash,整个世界一下子清净了!
四、git stash pop 与 git stash apply <stash@{id}> 的区别。
当我使用git stash pop 和 git stash apply 几次以后,我发现stash list 好像比我预计的多了几个stash。于是我便上网去了解了一下这两个命令的区别。原来git stash pop stash@{id}命令会在执行后将对应的stash id 从stash list里删除,而 git stash apply stash@{id} 命令则会继续保存stash id。对于有点强迫症的我来说,是容不下越来越多的陈旧stash id 仍然存在的,所以我更习惯于用git stash pop 命令。
windows下git bash使用代理
export http_proxy="http://127.0.0.1:1080"
export https_proxy="http://127.0.0.1:1080"
清空:
export https_proxy=""
export http_proxy=""
git config --global http.proxy ""
git config --global https.proxy ""
出 SSL certificate problem: unable to get local issuer certificate 时:
git config --global http.sslVerify false
本地git库推送到远程
git remote add origin https://tfs.coolfen.com/tfs/CoolfenCollection/%E9%85%B7%E5%88%86%E7%A7%AF%E5%88%86%E5%95%86%E5%9F%8E/_git/WebService git push -u origin --all
git 对比文件:
git diff dev:./appsettings.Staging.json dev:./appsettings.Development.json
npm config set proxy=http://127.0.0.1:1080
npm config set https-proxy http://server:port
npm config set registry=http://registry.npmjs.org
npm config delete proxy
npm config delete https-proxy
git clone
fatal: Authentication failed for
又不弹出输入账号密码。
git config --system --unset credential.helper
创建并关联一个分支到远程分支:
git checkout -t origin/xxx