git_ABC


锲而不舍,金石可镂;锲而舍之,朽木不折--------------------持续更新,每天进步一点点


git config user


$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

check config info
$ git config --list

check special info

$ git config user.name


note:

1. branch 里面没有内容,也没有任何提交记录 ----git branch 不显示没有任何内容得branch

2. 第一次提交后会默认自动创建master  branch


git add *****   #指定要add到跟踪状态的文件(. 表示当前目录)
git commit –am “*****” #写上提交的日志信息
git push origin master     #上传代码到服务器


2016-11-02 10:38:45

$ git commit --amend(re-commit also  edit comment)

$ git reset HEAD test.cpp(cancle stash file to unstash)

$ git checkout  -- test.cpp(to discard changes in working directory)




对于不需要push到git服务器的工程文件与编译中间文件,可以创建一下.gitignore加入匹配来过滤



git branch test(创建一个本地分支test)
git branch -d test(删除本地分支test)
git checkout test(切换到本地分支test)


git checkout -b test  ==   git branch test + git checkout test


git branch -v(查看各个分支最后一个提交对象的信息)



# sunsun,万马奔腾,切记要把分支rebase到master分支必须要首先切换到master分支,要不会出现问题,弄好半天,一万个驼羊
git rebase test(把test分支rebase到master分支)


#切记,rebase或者 merge后一定要push才能使使远程的分支确保更新到master分支,一定要记住和服务器打交道的命令只有 push 和 pull


git log --stat    --stat选项,它会显示在每个提交(commit)中哪些文件被修改了, 这些文件分别添加或删除了多少行内容


git log -p   查看详细的提交内容,-p是展开的意思



2014/8/27 11:41:10
TAG
git tag 列出git中现有标签(列表是按照字母表顺序给出的)
带注释的标签
git tag -a v1.4 -m 'version 1.4'   -a 表示新增(add)一个标签    -m 表示注释信息(message)


git tag -d v1.4(delete name v1.4 tag)----Local
git push origin :refs/tags/v1.4  (delete name v1.4 tag from server)----Server


git push origin --tags(commit all tags to server)------Server   默认情况下,'git push'命令不会将标签上传到远程服务器上,必须在'git push'命令后明确添加--tags选项


##all progrss:
git add .
git commit -m “fixed some bugs”
git tag -a v1.4 -m “Release version 1.4″


git push origin master
git push origin -–tags




2014/10/23 11:24:32
git add -u(--update) [<path>] 把<path>中所有tracked文件中被修改过或已删除文件的信息添加到索引库,它不会处理untracted的文件(省略<path>表示 . ,即当前目录)
git add -A(--all) ----linux下严格区分大小写  [<path>]表示把<path>中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库(省略<path>表示 . ,即当前目录)



2015/1/10 11:16:52
if git add ERROR  "git reset HEAD <file>..." to unstage



2015/1/13 14:04:05
1.$ git branch -a
  * master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/xxxx_test
  remotes/origin/xxxx_fixbug
2.git rebase origin/xxxx_test(origin/xxxx_test branch rebase to master branch)
3.git rebase --continue(all conflicts fixed: run "git rebase --continue")



2015/1/14 15:48:22
$ git pull origin xxxx_test(pull server code to local)
$ git commit -m "merge master"(pull complete merge )
$ git push origin  xxxx_test(code push to server)


git push operator
push  (语法git push  服务器   本地分支:远程分支)------ git push origin master == git push origin master:master



跟踪远程分支  git checkout -b [分支名] [远程名]/[分支名]
从远程分支 checkout 出来的本地分支,称为 跟踪分支 (tracking branch)
git checkout -b xxxx_test origin/xxxx_test(创建一个远程本地分支xxxx_test)---------git checkout --track origin/xxxx_test(versio1.6.2up)
删除一个远程分支
git push [远程名] :[分支名]
git push origin :serverfix



2015/1/15 17:04:45
merge(not to rebase(re-find base to merge))
git checkout xxxx_test
git merge master(master merge to xxxx_test)
git add .
git commit -m "xxxxxx"
git push origin xxxx_test(merge after do xxxx_test code push to origin)



2015/1/19 17:29:36
merge(not to rebase(re-find base to merge))
git checkout xxxx_test
git merge master(master merge to xxxx_test)-----------no conflicts merge succeed
git add .  (not need)
git commit -m "xxxxxx"  (not nedd)
git push origin xxxx_test(merge after do xxxx_test code push to origin)-------no conflicts direct push to current branch


2015/4/22 17:30:32
batch delete branch
git branch |grep 'branchName' |xargs git branch -D(从分支列表中匹配到指定分支,然后一个一个(分成小块)传递给删除分支的命令,最后进行删除)
这是通过 shell 管道命令来实现的批量删除分支的功能
git branch 输出当前分支列表
grep 是对 git branch 的输出结果进行匹配,匹配值当然就是 branchName
xargs 的作用是将参数列表转换成小块分段传递给其他命令
$ git branch |grep 'icon' |xargs git branch -D(branchName evrything txt)
Deleted branch Align_icon_debug (was fbc85ab).
Deleted branch test_icon (was b17fd2e).



2015/5/7 11:01:59
Stashing
git stash
git stash list


$ git stash list
stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log


git stash apply(statshing current work dir)
git stash apply stash@{2}


git stash pop(similar stack pop top(stash@{2}))



2015/5/11 10:55:33
创建远程分支
1.首先需要有个本地的branch(git checkout -b august_test)
$ git checkout -b august_test
Switched to a new branch 'august_test'
2.git push (远程仓库名) (分支名)( git push origin august_test)
$ git push origin august_test
Total 0 (delta 0), reused 0 (delta 0)
To git@192.168.1.75:testing.git
 * [new branch]      august_test -> august_test
$ git branch -a
* august_test
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/august_test
  remotes/origin/master
3.创建完成后,还不能立马使用远程分支,还需要创建一个tracking branch
$ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details


    git pull <remote> <branch>


If you wish to set tracking information for this branch you can do so with:


    git branch --set-upstream-to=origin/<branch> august_test


4. Deleted a remote branch
git push [远程名] :[分支名](git push origin :august_test)
$ git push origin :august_test
To git@192.168.1.75:testing.git
 - [deleted]         august_test
$ git branch -a
* august_test
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master



2015/5/20 18:23:35
git reset --hard   recover
1. git reflog
2. git reset commitId


2016-05-13 16:34:25 
error: insufficient permission for adding an object to repository database .git/objects
error: core/java/android/os/PowerManager.java: failed to insert into database
error: unable to index file core/java/android/os/PowerManager.java
fatal: updating files failed

提示是insufficient permission,所以首先想到的就是可能当前用户没有权限操作该目录,根据提示到相应目录下查看,果然该目录已经被修改过。

根据提示找到拥有者发生变化的目录,使用 chown -R xxx:xxx   dir/  切换到当前需要提交记录的拥有者


敬请期待,持续更新中.......



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值